Koha-clms/t
Robin Sheat e2a49492d4 Bug 8594 - prevent the report system from breaking some subqueries
If you had a report query that had a subquery in the fields list, and
that subquery had a LIMIT specifier, then it would be removed which
could break your query. This patch prevents this case from breaking by
ensuring that only a LIMIT that follows the last WHERE in the query is
removed.

If you don't have a WHERE, then it will behave like it always
did, removing all the cases of LIMIT (which would still break a subquery
but this is a) more rare, and b) would require more intelligent parsing
to deal with.

Also adds test cases and function documentation.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

Tested with this report:

select biblionumber, (select itemnumber from items where items.biblionumber=biblio.biblionumber LIMIT 1) from biblio where biblionumber<1000;

and it worked like a charm

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
(cherry picked from commit 5a34c64b93)

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-09-13 20:23:49 -04:00
..
data/db_schemas kohabug 2076: add DB schema creation scripts from past versions 2008-05-11 05:40:47 -05:00
db_dependent Bug 8594 - prevent the report system from breaking some subqueries 2012-09-13 20:23:49 -04:00
00-checkdatabase-version.t Test to check for XXX in kohaversion.pl or updatedatabase.pl 2012-01-16 15:47:28 -05:00
00-deprecated.t Bug 5105 Regression test for switch statement 2010-11-11 21:32:31 +13:00
00-load.t Bug 929: Follow up adding the Koha:: namespace to the list of modules to test 2012-01-18 10:10:55 -05:00
00-merge-conflict-markers.t Test suite: ignoring backups from vi (files ending with a ~) 2011-12-07 11:33:43 -05:00
00-testcritic.t Don't run testcritic on directories that can't pass 2012-07-13 09:14:03 -04:00
00-valid-xml.t bug 5393 [SIGNED-OFF]: add test case to check well-formedness of XML/XSLT files 2010-11-13 11:51:49 +13:00
AuthoritiesMarc.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
AuthoritiesMarc_MARC21.t Bug 5327 added unit tests for C4/AuthoritiesMarc/MARC21.pm 2012-02-19 15:54:02 -05:00
AuthoritiesMarc_UNIMARC.t Added unit test for AuthoritiesMarc/UNIMARC.pm 2012-01-16 15:42:58 -05:00
Barcodes_PrinterConfig.t Bug 5327 added unit tests for C4/Barcodes_PrinterConfig.pm 2012-02-19 15:54:03 -05:00
Barcodes_annual.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Barcodes_hbyymmincr.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Barcodes_incremental.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Bookseller.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
Boolean.t Added missing reference case to Boolean.t and corrected count 2012-01-16 15:43:00 -05:00
Branch.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
Breeding.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Budgets.t C4::Bookfund no longer exists, removing the test 2009-12-20 14:31:37 +01:00
Cache.t create unit test files 2010-10-30 20:12:50 +13:00
Cache_Memcached.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Cache_Memoize_Memcached.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Calendar.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
Category.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Charset.t IMPORTANT - refactor MARC character set handling 2008-02-03 07:23:56 -06:00
Circulation_barcodedecode.t Bug 5418: Rev-5 patch new itemBarcodeInputFilter for libsuite8 style barcodes 2010-12-12 20:39:20 +13:00
ClassSortRoutine.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
ClassSortRoutine_Dewey.t Bug 5327 Added unit tests for C4/ClassSortRoutine/Dewey.pm 2012-01-18 10:11:00 -05:00
ClassSortRoutine_Generic.t Bug 5327 added unit tests for C4/ClassSortRoutine/Generic 2012-01-18 10:10:59 -05:00
ClassSortRoutine_LCC.t Bug 5327 added unit tests for C4/ClassSortRoutine/LCC 2012-02-19 15:54:03 -05:00
ClassSource.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Contract.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Creators.t Bug 7952 - followup to fix t/Creators.t 2012-07-12 22:17:14 -04:00
Dates.t Fix for Bug 4473 - Recent comments view for the OPAC 2010-12-13 09:43:01 +13:00
Debug.t Added extra unit tests to Debug.t 2011-01-18 11:59:07 +13:00
External_Syndetics.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Form_MessagingPreferences.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Heading.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
ILSDI_Services.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
ILSDI_Utility.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
ImportBatch.t Create Unit Test for ImportBatch 2010-10-31 10:32:29 +13:00
Input.t Input.t permissions fix 2007-11-16 13:24:37 -06:00
Installer_PerlDependencies.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Installer_PerlModules.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Installer_pm.t Bug 4905 Runtime errors in about.pl 2010-06-24 14:16:36 -04:00
ItemCirculationAlertPreference.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
ItemType.t Bug 5327: Add unit test for ItemType.pm 2010-10-31 22:16:47 +13:00
Koha.t Bug 5327 removing uneeded tests 2011-01-18 09:10:26 +13:00
Labels.t Bug 5327 added tests for C4/Labels.pm 2012-02-19 15:54:02 -05:00
Labels_split_ccn.t fixing various links to point to *.koha-community.org 2010-10-21 22:08:24 -04:00
Labels_split_ddcn.t fixing various links to point to *.koha-community.org 2010-10-21 22:08:24 -04:00
Labels_split_lccn.t fixing various links to point to *.koha-community.org 2010-10-21 22:08:24 -04:00
Languages.t Bug 5327 added tests for C4/Languages.pm 2012-02-19 20:59:58 -05:00
Letters.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Log.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Maintainance.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
Makefile Bug 2524: improving the submitted test reports 2008-08-18 07:17:34 -05:00
Matcher.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Members_AttributeTypes.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Members_Attributes.t Remove diagnostic output from t/Members_Attributes.t 2009-12-20 14:31:39 +01:00
Members_Messaging.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Message.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
NewsChannels.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Output.t C4::Output tests -- removed inccorect tests 2008-01-08 14:07:23 -06:00
Output_JSONStream.t Bug 5327 fixing missing number of tests 2011-01-21 11:28:58 +13:00
Overdues.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Patroncards.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Patroncards_Batch.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Layout.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Lib.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Patroncard.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Profile.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Template.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Print.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Review.t create unit test files 2010-10-30 20:12:50 +13:00
Ris.t bug 5327 added unit tests for C4/Ris.pm 2012-02-19 15:54:03 -05:00
RotatingCollections.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
SIP_Sip.t Added unit tests for Sip Checksum.pm 2012-01-16 15:42:58 -05:00
SMS.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Scheduler.t Bug 5327 added unit tests for C4/Scheduler.pm 2012-02-19 15:54:04 -05:00
Scrubber.t Added unit tests for Scrubber 2012-01-16 15:42:59 -05:00
Search_PazPar2.t Bug 5327 added unit tests for C4/Search_PazPar2.pm 2012-02-19 20:59:57 -05:00
Stats.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
TmplToken.t Bug 5327 added unit tests for C4/TmplToken.pm 2012-02-19 20:59:57 -05:00
Utils.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:22:30 +13:00
VirtualShelves_Merge.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
XSLT.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:22:30 +13:00
Z3950.t unit test stub for Z3950.pm 2010-10-31 10:33:35 +13:00
dummy.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
perlcriticrc Updating perlcriticrc to allow Modern::Perl to suffice instead of use warnings; and use strict; 2012-02-19 15:48:26 -05:00
rewrite-config-test.PL Fix FSF address in directory t/ 2010-03-16 20:17:51 -04:00
smolder_smoke_signal Bug 2524: Adding script to submit test reports to smolder server 2008-08-18 07:16:35 -05:00