Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2000 Forums
 SQL Server Development (2000)
 Fire hose mode? what the??!?!

Author  Topic 

M.E.
Aged Yak Warrior

539 Posts

Posted - 2002-11-15 : 17:18:56
One of my users just got the response 'Cannot update result set while in firehose mode' or 'transaction cannot start while in firehose mode'

Just kinda looked at him funny, firehose mode? Turns out he was using enterprise manager to edit his data (some users here have full access/dbo to a mssql 2000 instance on their local machine for testing purposes). I told him he should learn not to use enterprise manager for updates... But I'm was still curious wtf firehose mode was.

Books online glossary :

firehose cursor
An obsolete term for default result set.


firehose cursors
Obsolete term for default result sets.

See also: default result set


So, is it my understanding that sql 2000 is using an obsolete term to descirbe whats happening in enterprise manager? I just found it kinda strange and felt like sharing

-----------------------
SQL isn't just a hobby, It's an addiction

royv
Constraint Violating Yak Guru

455 Posts

Posted - 2002-11-15 : 17:34:07
I got this from sql-server-performance.com


When using an ADO recordset to return data from SQL Server, the most efficient way is to use what is often called a firehose cursor. The firehouse cursor is really an incorrect term because it is not a cursor. A firehose cursor is just a method to quickly move data from SQL Server to the client that requested it.

Essentially, a firehose cursor sends the requested data (from the query) to an output buffer on SQL Server. Once the output buffer is full, it waits until the client can retrieve the data from the output buffer. Then the output buffer is filled again. This process repeats over and over until all of the data is sent to the client. Another advantage of this method is that records are only locked long enough to be moved to the output buffer.

When you open an ADO RecordSet and use its default settings, a firehose cursor is automatically used by default. If you want to specify a firehouse cursor manually, you can do so by using these property settings:

CursorType = adForwardOnly

CursorLocation = adUseServer

LockType = adLockReadOnly

CacheSize = 1

When the client receives the data from the firehose cursor, the data should be read into a local data structure for local use by the client.


***************************************
Death must absolutely come to enemies of the code!
Go to Top of Page
   

- Advertisement -