|Subject:||RE: Patch for DBIx::SearchBuilder - Support for limits in Sybase|
|Date:||Fri, 16 Sep 2011 12:35:52 +0200|
|To:||Ruslan Zakirov <ruslan.zakirov [...] gmail.com>, "bug-DBIx-SearchBuilder [...] rt.cpan.org" <bug-DBIx-SearchBuilder [...] rt.cpan.org>|
|From:||"Rupp, Jean-Pierre" <jean-pierre.rupp [...] jpmchase.com>|
Hello Ruslan, I did an even better version of the patch. This one uses cursors, so it's reasonably fast also for records that are further into the result set. The old one used TOP so it was only fast for searches that were close to the start. Scrap the old patch and use this one. Performance is a couple orders of magnitude better. Greetings. Show quoted text
-----Original Message----- From: Ruslan Zakirov [mailto:firstname.lastname@example.org] Sent: 14 September 2011 22:01 To: bug-DBIx-SearchBuilder@rt.cpan.org Cc: Rupp, Jean-Pierre Subject: Fwd: Patch for DBIx::SearchBuilder - Support for limits in Sybase Hi, Thanks for the patch. Forwarding it to SB's queue on rt.cpan.org. Wonder if a VirtualBox image exists with some sybase server to test SB against it?
---------- Forwarded message ---------- From: Rupp, Jean-Pierre <email@example.com> Date: 2011/9/14 Subject: Patch for DBIx::SearchBuilder - Support for limits in Sybase To: "Ruslan.Zakirov@gmail.com" <Ruslan.Zakirov@gmail.com> Hello Руслан, I’ve modified your code for DBIx::SearchBuilder, in order to make ApplyLimits work in Sybase databases. This fix may also work for MSSQL as well. Support is partial, since Sybase doesn’t allow for specifying lower boundaries with its TOP clause. This said, what the code does is that whenever limits are used, it will slap a TOP clause just after SELECT in the query. This makes it so that Sybase will only return up to that many records. Then there’s a soft low boundary in the SearchBuilder object that will behave as though records before it were not retrieved (but they were). Although this will not offer much of a performance boost when retrieving records 950.000 to 975.000 in a 1.000.000 record table, performance will improve a lot for the first pages, which are the ones most commonly used in, say, web applications. On top of this, it makes for better RTT compatibility. I submit this patch to you so you can put it in the official DBIx::SearchBuilder distribution as you please. Greetings. This communication is for informational purposes only. It is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction. All market prices, data and other information are not warranted as to completeness or accuracy and are subject to change without notice. Any comments or statements made herein do not necessarily reflect those of JPMorgan Chase & Co., its subsidiaries and affiliates. This transmission may contain information that is privileged, confidential, legally privileged, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. Although this transmission and any attachments are believed to be free of any virus or other defect that might affect any computer system into which it is received and opened, it is the responsibility of the recipient to ensure that it is virus free and no responsibility is accepted by JPMorgan Chase & Co., its subsidiaries and affiliates, as applicable, for any loss or damage arising in any way from its use. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Thank you. Please refer tofor disclosures relating to European legal entities. -- Best regards, Ruslan.
Message body is not shown because sender requested not to inline it.