10 years agoThrow exception for invalid BETWEEN args
Dagfinn Ilmari Mannsåker [Fri, 3 Jan 2014 15:04:21 +0000]
Throw exception for invalid BETWEEN args

10 years agoCleanup regexes / reduce captures a bit
Peter Rabbitson [Mon, 6 Jan 2014 14:14:48 +0000]
Cleanup regexes / reduce captures a bit

10 years agoPartially revert brainfart test introduced in 3a507101
Peter Rabbitson [Mon, 6 Jan 2014 13:55:23 +0000]
Partially revert brainfart test introduced in 3a507101

10 years agoMerge branch 'master' into dq
Peter Rabbitson [Wed, 18 Dec 2013 09:29:56 +0000]
Merge branch 'master' into dq

10 years agoAnd yet more improvements in the parsing engine
Peter Rabbitson [Tue, 17 Dec 2013 23:33:31 +0000]
And yet more improvements in the parsing engine

Streamline the construction of -MISC (gah I hate that name) nodes, and make
sure we do not treat placeholders as list element node terminator

10 years agoDo not yell loudly on TODOified is_same_* tests
Peter Rabbitson [Wed, 18 Dec 2013 08:15:50 +0000]
Do not yell loudly on TODOified is_same_* tests

10 years agoClarify in => undef exception (based on 90c87778)
Dagfinn Ilmari Mannsåker [Sun, 8 Dec 2013 17:01:03 +0000]
Clarify in => undef exception (based on 90c87778)

10 years agoBackport undef-with-in tests from DQ, add "roadwork ahead" exceptions
Peter Rabbitson [Wed, 18 Dec 2013 08:48:36 +0000]
Backport undef-with-in tests from DQ, add "roadwork ahead" exceptions

This is an amalgamation of test changes from 5b67050, 39221d2 and 038b0a7
ilmari++

10 years agoExtra test from the DQ branch (passes in 1.5)
Dagfinn Ilmari Mannsåker [Tue, 3 Dec 2013 17:17:29 +0000]
Extra test from the DQ branch (passes in 1.5)

10 years agoFix duplicate tests for { -in => [ undef ] }
Dagfinn Ilmari Mannsåker [Mon, 9 Dec 2013 13:57:01 +0000]
Fix duplicate tests for { -in => [ undef ] }

10 years agoDisallow { -in => undef }
Dagfinn Ilmari Mannsåker [Sun, 8 Dec 2013 17:01:03 +0000]
Disallow { -in => undef }

It's ambiguous whether the user meant [ undef ] or [], or forgot to
assign to a variable intended to hold an arrayref.

10 years agoHandle undef -> NULL for more operators
Dagfinn Ilmari Mannsåker [Fri, 6 Dec 2013 17:24:22 +0000]
Handle undef -> NULL for more operators

'IS NOT' and 'IS' are not documented in legacy SQLA, but do work.

10 years agoDocument and test non-reference { -in => ... }
Dagfinn Ilmari Mannsåker [Wed, 4 Dec 2013 15:16:13 +0000]
Document and test non-reference { -in => ... }

Also test the documented but untested { -in => [] } optimisation.

10 years agoRemove pointless else after return
Dagfinn Ilmari Mannsåker [Wed, 4 Dec 2013 14:27:37 +0000]
Remove pointless else after return

10 years agoOptimise out AND/OR clause in { -(not_)in => [undef] }
Dagfinn Ilmari Mannsåker [Wed, 4 Dec 2013 14:12:11 +0000]
Optimise out AND/OR clause in { -(not_)in => [undef] }

10 years agoHandle { foo => { -in => [undef, …] } }
Dagfinn Ilmari Mannsåker [Wed, 4 Dec 2013 13:58:06 +0000]
Handle { foo => { -in => [undef, …] } }

It should expand to 'foo IN (…) OR foo IS NULL', and 'foo NOT IN (…)
AND foo IS NOT NULL' for the -not_in case.

10 years agoAllow { -in => $scalar }
Dagfinn Ilmari Mannsåker [Wed, 4 Dec 2013 13:47:20 +0000]
Allow { -in => $scalar }

Although undocumented, the old version will accept and DWIM for this,
so follow suit.

10 years agoFix invalid ORDER BY hash key test
Dagfinn Ilmari Mannsåker [Tue, 3 Dec 2013 17:23:36 +0000]
Fix invalid ORDER BY hash key test

10 years agoFix NOT IN empty list optimisation
Dagfinn Ilmari Mannsåker [Tue, 3 Dec 2013 17:17:29 +0000]
Fix NOT IN empty list optimisation

10 years agoadd Perl operator conversion support
Matt S Trout [Sun, 17 Nov 2013 06:06:12 +0000]
add Perl operator conversion support

10 years agoadd support for nulls => "none" in order nodes
Matt S Trout [Mon, 4 Nov 2013 03:05:08 +0000]
add support for nulls => "none" in order nodes

10 years agohandle DQ node in IN
Matt S Trout [Sat, 2 Nov 2013 17:44:42 +0000]
handle DQ node in IN

10 years agobetter debugging for duff order_by
Matt S Trout [Fri, 1 Nov 2013 08:09:14 +0000]
better debugging for duff order_by

10 years agoimprove identifier regexp in order_by slightly
Matt S Trout [Fri, 1 Nov 2013 08:08:58 +0000]
improve identifier regexp in order_by slightly

10 years agohandle \$dq in order by
Matt S Trout [Sat, 26 Oct 2013 21:20:36 +0000]
handle \$dq in order by

10 years agoonly split identifiers when we have a separator
Matt S Trout [Wed, 9 Oct 2013 14:54:25 +0000]
only split identifiers when we have a separator

10 years agoFix typos in POD and comments (RT#87776)
Dagfinn Ilmari Mannsåker [Mon, 12 Aug 2013 20:03:16 +0000]
Fix typos in POD and comments (RT#87776)

10 years agoMerge branch 'master' into dq
Peter Rabbitson [Sun, 9 Jun 2013 12:20:44 +0000]
Merge branch 'master' into dq

10 years agoKill the plan
Peter Rabbitson [Sun, 9 Jun 2013 11:36:46 +0000]
Kill the plan

10 years agoFinish a RHS branch before applying ASC/DESC mods
Peter Rabbitson [Sun, 9 Jun 2013 11:28:35 +0000]
Finish a RHS branch before applying ASC/DESC mods

10 years agoDisable podcoverage test for the time being
Peter Rabbitson [Fri, 7 Jun 2013 16:28:16 +0000]
Disable podcoverage test for the time being

10 years agorelease 1.74 v1.74
Peter Rabbitson [Tue, 4 Jun 2013 21:06:24 +0000]
release 1.74

10 years agoNo dynamic deps
Peter Rabbitson [Tue, 4 Jun 2013 21:05:40 +0000]
No dynamic deps

10 years agoMake tests pass without Storable
Peter Rabbitson [Tue, 4 Jun 2013 21:02:23 +0000]
Make tests pass without Storable

10 years agoAdded (now passing) test for @@ full text search
Mark A. Stratman [Mon, 3 Dec 2012 18:46:13 +0000]
Added (now passing) test for @@ full text search

10 years agoStop unknown token processing early in case a potential unknown function lies ahead
Peter Rabbitson [Tue, 4 Jun 2013 17:11:20 +0000]
Stop unknown token processing early in case a potential unknown function lies ahead

10 years agoAdd (now passing) reassembly test
Arthur Axel 'fREW' Schmidt [Wed, 17 Oct 2012 14:01:23 +0000]
Add (now passing) reassembly test

10 years agoChange parser to not eagerly slurp RHS expressions it doesn't recognize
Peter Rabbitson [Tue, 4 Jun 2013 16:08:25 +0000]
Change parser to not eagerly slurp RHS expressions it doesn't recognize

10 years agoThe ORDER BY parsing fix in 73835ff0 only worked by accident
Peter Rabbitson [Tue, 4 Jun 2013 15:11:13 +0000]
The ORDER BY parsing fix in 73835ff0 only worked by accident

Remove a number of workarounds introduced before the parser rewrite - none of
them help, and one of them was in fact the reason multi-member ORDER BY
did not function correctly

10 years agoAll roundtrip tests now look for the exact string
Peter Rabbitson [Sun, 2 Jun 2013 15:17:06 +0000]
All roundtrip tests now look for the exact string

Merge test files while at it

10 years agoStop differentiating between ORDER BY foo and ORDER BY foo ASC by default
Peter Rabbitson [Sun, 2 Jun 2013 13:38:35 +0000]
Stop differentiating between ORDER BY foo and ORDER BY foo ASC by default

10 years agoDrop the silly Dumpered bind comparison
Peter Rabbitson [Sun, 2 Jun 2013 12:16:36 +0000]
Drop the silly Dumpered bind comparison

10 years agoPave the road to more global state
Peter Rabbitson [Sat, 1 Jun 2013 20:02:17 +0000]
Pave the road to more global state

(Yes, yes an object is saner, but it means a thought out interface and
all that, and then it means optimization of when and how do we do the
modification passes, and really I am not after this stuff at the moment)

11 years agoRevert "Add support for NULLS FIRST/LAST in ORDER BY"
Dagfinn Ilmari Mannsåker [Sun, 14 Apr 2013 10:53:32 +0000]
Revert "Add support for NULLS FIRST/LAST in ORDER BY"

Despite being an ISO/ANSI SQL feature, it's apparently not supported by
enough databses to have by default.

This reverts commits 2266ca5c0bf34c24ba7fbf6448ad1c34a082f240 and
b137b0744a3aaea3df1ba497345378e9d3f8da40.

11 years agoNormalize the select docs s/$table/$source/
Olaf Alders [Wed, 6 Feb 2013 20:34:35 +0000]
Normalize the select docs s/$table/$source/

11 years agoFix false-negative function comparisons
Peter Rabbitson [Fri, 11 May 2012 04:47:09 +0000]
Fix false-negative function comparisons

11 years agoFix -nulls value case-insensitivity
Dagfinn Ilmari Mannsåker [Tue, 5 Feb 2013 19:14:38 +0000]
Fix -nulls value case-insensitivity

11 years agoFix -nulls value case-insensitivity
Dagfinn Ilmari Mannsåker [Tue, 5 Feb 2013 19:12:46 +0000]
Fix -nulls value case-insensitivity

11 years agoAdd support for NULLS FIRST/LAST in ORDER BY
Dagfinn Ilmari Mannsåker [Sat, 26 Jan 2013 19:55:38 +0000]
Add support for NULLS FIRST/LAST in ORDER BY

11 years agoAdd support for NULLS FIRST/LAST in ORDER BY
Dagfinn Ilmari Mannsåker [Sat, 26 Jan 2013 18:32:09 +0000]
Add support for NULLS FIRST/LAST in ORDER BY

11 years agobreak out base class construction
Matt S Trout [Sat, 1 Dec 2012 21:04:26 +0000]
break out base class construction

11 years agotweak clearer code
Matt S Trout [Sat, 13 Oct 2012 17:19:29 +0000]
tweak clearer code

11 years agoremove all remnants of DQ::Constants
Matt Phillips [Thu, 23 Aug 2012 17:31:05 +0000]
remove all remnants of DQ::Constants

11 years agoPass subtype to Literal() helper directly
Matt Phillips [Fri, 17 Aug 2012 20:32:06 +0000]
Pass subtype to Literal() helper directly

11 years agoUpdate DQ Converter to use new DQ::ExprHelpers
Matt Phillips [Fri, 17 Aug 2012 16:43:15 +0000]
Update DQ Converter to use new DQ::ExprHelpers

Instead of creating DQ structs directly, use the ExprHelpers to handle generation.

11 years agoFix eq_bind checker
Arthur Axel 'fREW' Schmidt [Sat, 28 Jul 2012 17:37:25 +0000]
Fix eq_bind checker

We have to Deepcopy because otherwise we get $VAR->... incorrect failures

11 years agofix arrayref tables to use correct join generation style
Matt S Trout [Sat, 28 Jul 2012 12:45:32 +0000]
fix arrayref tables to use correct join generation style

11 years agorelease 1.73 v1.73
Arthur Axel 'fREW' Schmidt [Tue, 10 Jul 2012 21:22:41 +0000]
release 1.73

11 years agorelease 1.73_01 v1.73_01
Arthur Axel 'fREW' Schmidt [Wed, 30 May 2012 02:05:22 +0000]
release 1.73_01

11 years agofix regression introduced in 6f2a5b6
Arthur Axel 'fREW' Schmidt [Fri, 20 Apr 2012 18:46:28 +0000]
fix regression introduced in 6f2a5b6

12 years agodocument order by madness
Matt S Trout [Mon, 7 May 2012 15:00:59 +0000]
document order by madness

12 years agoStop filling in placeholders in `format-sql`
Arthur Axel 'fREW' Schmidt [Fri, 20 Apr 2012 18:24:11 +0000]
Stop filling in placeholders in `format-sql`

12 years agosimple literals get detected and turned into nodes
Matt S Trout [Fri, 20 Apr 2012 11:36:00 +0000]
simple literals get detected and turned into nodes

12 years agoASC purge: t/06order_by.t
Matt S Trout [Fri, 20 Apr 2012 11:35:08 +0000]
ASC purge: t/06order_by.t

12 years agoless generous literal parsing
Matt S Trout [Fri, 20 Apr 2012 11:19:18 +0000]
less generous literal parsing

12 years agoparse simple order literals
Matt S Trout [Fri, 20 Apr 2012 10:03:55 +0000]
parse simple order literals

12 years agoabstract order specification
Matt S Trout [Fri, 20 Apr 2012 09:18:55 +0000]
abstract order specification

12 years agomake renderer and converter classes more pluggable
Matt S Trout [Fri, 20 Apr 2012 09:18:45 +0000]
make renderer and converter classes more pluggable

12 years agohandle ->_where_to_dq($plain_sql_string)
Matt S Trout [Tue, 17 Apr 2012 15:44:27 +0000]
handle ->_where_to_dq($plain_sql_string)

12 years agomore tweaks
Matt S Trout [Mon, 16 Apr 2012 13:46:10 +0000]
more tweaks

12 years agorefactor a bit more, honour literals in converter
Matt S Trout [Mon, 16 Apr 2012 07:11:45 +0000]
refactor a bit more, honour literals in converter

12 years agofactor out Converter
Matt S Trout [Mon, 16 Apr 2012 01:01:16 +0000]
factor out Converter

12 years agosimplify and generalize table literal handling
Matt S Trout [Sat, 14 Apr 2012 18:03:32 +0000]
simplify and generalize table literal handling

12 years agofactor out select logic a bit more
Matt S Trout [Sat, 14 Apr 2012 17:10:54 +0000]
factor out select logic a bit more

12 years agopass unknown @_ downwards for subclassers
Matt S Trout [Sat, 14 Apr 2012 15:49:05 +0000]
pass unknown @_ downwards for subclassers

12 years agoorder inside select node
Matt S Trout [Sat, 14 Apr 2012 15:41:21 +0000]
order inside select node

12 years agofactor some stuff out and enable writeable quoting attributes
Matt S Trout [Sat, 14 Apr 2012 15:05:00 +0000]
factor some stuff out and enable writeable quoting attributes

12 years agothrow toys out the pram and convert to Moo
Matt S Trout [Sat, 14 Apr 2012 11:25:41 +0000]
throw toys out the pram and convert to Moo

12 years agoclean up always_quote usage, factor out _render_sqla
Matt S Trout [Sat, 14 Apr 2012 05:59:33 +0000]
clean up always_quote usage, factor out _render_sqla

12 years agoport -ident and -value
Matt S Trout [Sat, 14 Apr 2012 02:36:30 +0000]
port -ident and -value

12 years agofix handling for nested function calls - see giant comment for compat hate.
Matt S Trout [Mon, 12 Sep 2011 03:22:27 +0000]
fix handling for nested function calls - see giant comment for compat hate.

12 years agohandle scalarref in arrayref of table names
Matt S Trout [Tue, 2 Aug 2011 12:11:24 +0000]
handle scalarref in arrayref of table names

12 years agodelete vestigial _join_sql_clauses method
Matt S Trout [Sun, 31 Jul 2011 20:29:51 +0000]
delete vestigial _join_sql_clauses method

12 years agoannihilate refkind stupidity
Matt S Trout [Sun, 31 Jul 2011 20:20:20 +0000]
annihilate refkind stupidity

12 years agogut values using _mutation_rhs_to_dq code
Matt S Trout [Sun, 31 Jul 2011 19:56:41 +0000]
gut values using _mutation_rhs_to_dq code

12 years agode-REFKIND-rubbish-ify from handling
Matt S Trout [Sun, 31 Jul 2011 19:51:40 +0000]
de-REFKIND-rubbish-ify from handling

12 years agoport INSERT, factor out mutation op RHS code
Matt S Trout [Sun, 31 Jul 2011 19:40:12 +0000]
port INSERT, factor out mutation op RHS code

12 years agoconvert update, refactor some stuff
Matt S Trout [Sun, 31 Jul 2011 15:15:15 +0000]
convert update, refactor some stuff

12 years agofactor out from+where handling and port DELETE
Matt S Trout [Sun, 31 Jul 2011 10:01:58 +0000]
factor out from+where handling and port DELETE

12 years agoseparate out _where_to_dq from _expr_to_dq and rewrite select to use DQ
Matt S Trout [Sun, 31 Jul 2011 09:12:46 +0000]
separate out _where_to_dq from _expr_to_dq and rewrite select to use DQ

12 years agofix expression generation for UPDATE
Matt S Trout [Sun, 31 Jul 2011 06:15:11 +0000]
fix expression generation for UPDATE

12 years agofirst cut at convert and case options
Matt S Trout [Sun, 31 Jul 2011 05:38:19 +0000]
first cut at convert and case options

12 years agoimplement $self->{logic} and kill numbered modifiers
Matt S Trout [Sun, 31 Jul 2011 05:20:21 +0000]
implement $self->{logic} and kill numbered modifiers

12 years agoConvert deprec. test to expectation of fatal error
Peter Rabbitson [Sun, 31 Jul 2011 05:07:16 +0000]
Convert deprec. test to expectation of fatal error

12 years agoimprove and/or handling
Matt S Trout [Sun, 31 Jul 2011 04:42:09 +0000]
improve and/or handling

12 years agoremove builtin special ops; handled elsewhere
Matt S Trout [Sun, 31 Jul 2011 02:49:39 +0000]
remove builtin special ops; handled elsewhere

12 years agospecial ops handling
Matt S Trout [Sun, 31 Jul 2011 02:44:54 +0000]
special ops handling

12 years agoallow \n in op names - not sure why this ever worked, but the scope guard test uses...
Matt S Trout [Sun, 31 Jul 2011 02:07:30 +0000]
allow \n in op names - not sure why this ever worked, but the scope guard test uses it and I don't see an immediate reason to disallow it

12 years agorefactor operator construction and add injection guard support back
Matt S Trout [Sun, 31 Jul 2011 02:01:22 +0000]
refactor operator construction and add injection guard support back

12 years agoswitch { foo => \'= bar' } to using multipart literal support
Matt S Trout [Sun, 31 Jul 2011 01:21:04 +0000]
switch { foo => \'= bar' } to using multipart literal support