Re: Read past Equivalent in MySQL

2005-05-14 Thread Duncan Hill
On Friday 13 May 2005 18:21, Gordon wrote: If you can add a table structure why not create a SELECTED table with REPORT ID and PERSON ID as the 2 field PRIMARY KEY. Then you could INSERT IGNORE into this table [with no BEGN/COMMIT] and the IGNORE would throw away those already selected.

Re: Read past Equivalent in MySQL

2005-05-14 Thread mfatene
hi, i followed this thread and really think that this isn't a locking problem, but a table structure problem. if there is a column in table with a boolean flag (dealt yes/no) the queries go just looking for rows where dealt=0 (or no). Mathias Selon Duncan Hill [EMAIL PROTECTED]: On Friday 13

Re: Read past Equivalent in MySQL

2005-05-13 Thread mfatene
Hi, you're ooking for the opposite of what can be done. One can select in share mode or for update : http://dev.mysql.com/doc/mysql/en/innodb-locking-reads.html this prevents data from being incoherent. If you want skip waiting for locks, you can make for each user a temp table containing the

Re: Read past Equivalent in MySQL

2005-05-13 Thread mfatene
look also using READ UNCOMMITTED http://dev.mysql.com/doc/mysql/en/innodb-transaction-isolation.html Mathias Selon [EMAIL PROTECTED]: Hi, you're ooking for the opposite of what can be done. One can select in share mode or for update :

Re: Read past Equivalent in MySQL

2005-05-13 Thread Ramesh G
Hi Mathias, Thanks a lot for your comments. In MS SQL we have something which can achieve this very simply: select Top 1 * from Table1 with (updlock,readpast) I am looking for something exactly similar to this in MySQL. Creating temp tables will not work for me as the no of users for the

Re: Read past Equivalent in MySQL

2005-05-13 Thread Martijn Tonies
Ramesh, Thanks a lot for your comments. In MS SQL we have something which can achieve this very simply: select Top 1 * from Table1 with (updlock,readpast) I am looking for something exactly similar to this in MySQL. This actually is a work-around for that bloody MS SQL locking crap.

Re: Read past Equivalent in MySQL

2005-05-13 Thread Martijn Tonies
look also using READ UNCOMMITTED http://dev.mysql.com/doc/mysql/en/innodb-transaction-isolation.html Read UNCOMMITTED is an abomination and should be avoided. With regards, Martijn Tonies Database Workbench - tool for InterBase, Firebird, MySQL, Oracle MS SQL Server Upscene Productions

Re: Read past Equivalent in MySQL

2005-05-13 Thread mfatene
Yes, that's what i said. He is trying to ovverride data consistency, and read uncommitted is so possible. So why not use it if it solves the problem. else, read uncommitted sould be droped from mysql. But i agree with you Mathias Selon Martijn Tonies [EMAIL PROTECTED]: look also using READ

Re: Read past Equivalent in MySQL

2005-05-13 Thread Martijn Tonies
Yes, that's what i said. He is trying to ovverride data consistency, and read uncommitted is so possible. So why not use it if it solves the problem. else, read uncommitted sould be droped from mysql. I don't think he is trying to override data consistency... with MS SQL, read past wil

Re: Read past Equivalent in MySQL

2005-05-13 Thread Ramesh G
Yes. Martijn is correct. I am trying to skip locked rows and get the next unlocked row available. Reading uncommited data will cause unexpected problems. I don't want to do that. Is there a way to do this? Regards Ramesh On Fri, 13 May 2005 11:54:11 +0200, Martijn Tonies [EMAIL PROTECTED]

Re: Read past Equivalent in MySQL

2005-05-13 Thread Martijn Tonies
Yes. Martijn is correct. I am trying to skip locked rows and get the next unlocked row available. Reading uncommited data will cause unexpected problems. I don't want to do that. Is there a way to do this? Use InnoDB and you don't _have_ to skip past locked records :-) With regards,

Re: Read past Equivalent in MySQL

2005-05-13 Thread Ramesh G
I am using InnoDB only. But, it's not skipping locked rows. regards Ramesh On Fri, 13 May 2005 12:11:12 +0200, Martijn Tonies [EMAIL PROTECTED] wrote: Yes. Martijn is correct. I am trying to skip locked rows and get the next unlocked row available. Reading uncommited data will cause

Re: Read past Equivalent in MySQL

2005-05-13 Thread Duncan Hill
On Friday 13 May 2005 11:34, Ramesh G typed: I am using InnoDB only. But, it's not skipping locked rows. Ditto that here. CREATE TABLE `a` ( `b` int(11) NOT NULL auto_increment, PRIMARY KEY (`b`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 select * from a; +---+ | b | +---+ | 1 | | 2 | | 3 |

Re: Read past Equivalent in MySQL

2005-05-13 Thread Martijn Tonies
I am using InnoDB only. But, it's not skipping locked rows. Ditto that here. Actually, I consider that a good thing... What's the point in leaving out rows that have not been modified yet but are about to be updated? The transaction that has the rows locked might as well be rolled back.

Re: Read past Equivalent in MySQL

2005-05-13 Thread Eric Bergen
I agree. It sounds like you could use plain repeatable read isolation transactions. If someone else is modifying those rows you get an older version from when your transaction was started. No need for skipping anything. Martijn Tonies wrote: I am using InnoDB only. But, it's not skipping

Re: Read past Equivalent in MySQL

2005-05-13 Thread Duncan Hill
On Friday 13 May 2005 16:19, Eric Bergen typed: I agree. It sounds like you could use plain repeatable read isolation transactions. If someone else is modifying those rows you get an older version from when your transaction was started. No need for skipping anything. In the case of what I'm

RE: Read past Equivalent in MySQL

2005-05-13 Thread Gordon
[mailto:[EMAIL PROTECTED] Sent: Friday, May 13, 2005 10:25 AM To: mysql@lists.mysql.com Subject: Re: Read past Equivalent in MySQL On Friday 13 May 2005 16:19, Eric Bergen typed: I agree. It sounds like you could use plain repeatable read isolation transactions. If someone else is modifying those

Read past Equivalent in MySQL

2005-05-12 Thread Ramesh G
Hi All, Is there a way by which I can tell the Mysql to ignore the rows that are locked by someone else and take the next available record. The problem is, I have a Query like this: Select * from Table1 where Fld1=2 FOR UPDATE Limit 1 I will have multiple clients running this same query with