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

8 years agoRemove pointless prototypes on methods
Dagfinn Ilmari Mannsåker [Fri, 4 Mar 2016 15:03:06 +0000]
Remove pointless prototypes on methods

8 years agoFix ->insert($table, \@values) with >26 values (RT#112684)
Dagfinn Ilmari Mannsåker [Fri, 4 Mar 2016 14:59:17 +0000]
Fix ->insert($table, \@values) with >26 values (RT#112684)

This gets rid of the cute hash key ordering hack and instead factors the
body of the loop in ->_insert_values into a separate method that the
arrayref version calls directly in the right order.

8 years agoAdd Changes entry for UPDATE ... RETURNING
Dagfinn Ilmari Mannsåker [Sat, 20 Feb 2016 15:10:54 +0000]
Add Changes entry for UPDATE ... RETURNING

8 years ago10% speedup of identifier quoting
Dagfinn Ilmari Mannsåker [Wed, 30 Dec 2015 23:49:47 +0000]
10% speedup of identifier quoting

8 years agoTeach ::Tree that ILIKE (PostgreSQL) and REGEXP (MySQL) are binary ops
Dagfinn Ilmari Mannsåker [Mon, 19 Oct 2015 10:25:53 +0000]
Teach ::Tree that ILIKE (PostgreSQL) and REGEXP (MySQL) are binary ops

8 years agoFix ORDER BY clause type in synopsis and where() header
Dagfinn Ilmari Mannsåker [Tue, 23 Jun 2015 10:32:32 +0000]
Fix ORDER BY clause type in synopsis and where() header

The ORDER BY clause can be either a string, stringref, arrayref or
hashref, so don't imply it has to be an arrayref in the docs.

8 years agoFix order clauses with bind parameters in ->where
Dagfinn Ilmari Mannsåker [Sun, 28 Jun 2015 13:32:28 +0000]
Fix order clauses with bind parameters in ->where

->where was ignoring the bind parameters returned by ->_order_by

8 years agoIgnore editor droppings
Dagfinn Ilmari Mannsåker [Tue, 7 Jul 2015 18:24:04 +0000]
Ignore editor droppings

8 years agoBump Moo dep and remove warning defatalisation hack
Dagfinn Ilmari Mannsåker [Tue, 7 Jul 2015 18:19:52 +0000]
Bump Moo dep and remove warning defatalisation hack

Moo 2 no longer pulls in strictures

9 years agoAdd _update_returning method for UPDATE … RETURNING
Dagfinn Ilmari Mannsåker [Sun, 21 Dec 2014 14:43:28 +0000]
Add _update_returning method for UPDATE … RETURNING

It just calls _returning, but allows subclasses to override UPDATE …
RETURNING independently from INSERT … RETURNING

9 years agoKeep calling _insert_returning for INSERT … RETURNING
Dagfinn Ilmari Mannsåker [Sun, 21 Dec 2014 14:42:45 +0000]
Keep calling _insert_returning for INSERT … RETURNING

DBIC::SQLMaker::Oracle overrides this method, and its insert calls
next::method, so we need keep calling the old method for the override to
work.

9 years agoFixed missing '}' in POD examples and reformat for clarity
Daniel Perrett [Fri, 10 Oct 2014 10:17:50 +0000]
Fixed missing '}' in POD examples and reformat for clarity

9 years agoReinstate _insert_returning method for DBIC compat
Dagfinn Ilmari Mannsåker [Mon, 15 Dec 2014 20:29:57 +0000]
Reinstate _insert_returning method for DBIC compat

9 years agoAdd support for UPDATE ... RETURNING ...
Dagfinn Ilmari Mannsåker [Mon, 15 Dec 2014 20:14:46 +0000]
Add support for UPDATE ... RETURNING ...

Similar to INSERT ... RETURNING ...

9 years agoRelease 1.81 v1.81
Peter Rabbitson [Sat, 25 Oct 2014 11:30:24 +0000]
Release 1.81

9 years agoFix overly-enthusiastic parenthesis unroller (RT#99503)
Peter Rabbitson [Sat, 25 Oct 2014 10:47:35 +0000]
Fix overly-enthusiastic parenthesis unroller (RT#99503)

9 years agoRe-indent and quote versions in Makefile
Peter Rabbitson [Sat, 25 Oct 2014 10:46:39 +0000]
Re-indent and quote versions in Makefile

No functional changes

9 years agoRelease 1.80 v1.80
Peter Rabbitson [Sun, 5 Oct 2014 21:05:57 +0000]
Release 1.80

9 years agoSkip tests on smokers with a broken DBIC trial
Peter Rabbitson [Sun, 5 Oct 2014 21:03:53 +0000]
Skip tests on smokers with a broken DBIC trial

9 years agoCroak on invalid top-level special ops
Peter Rabbitson [Fri, 26 Sep 2014 12:02:04 +0000]
Croak on invalid top-level special ops

When they were originally introduced it never occured neither to me, nor
whoever reviewed that a plain special-op will not work at top level.
Add an extra check at the fallback point (ugly, but still effective)

9 years agoSaner handling of nested_lhs, we now set it in one spot only
Peter Rabbitson [Fri, 3 Oct 2014 11:21:49 +0000]
Saner handling of nested_lhs, we now set it in one spot only

9 years agospelling mistake (RT#99147)
gregor herrmann [Fri, 26 Sep 2014 14:34:04 +0000]
spelling mistake (RT#99147)

9 years agoWhatever I was thinking it wasn't making much sense
Peter Rabbitson [Fri, 26 Sep 2014 01:56:45 +0000]
Whatever I was thinking it wasn't making much sense

Good thing I started pondering how to port this to DQ, otherwise would not
have noticed I fucked up... for a while

9 years agoRelease 1.79 v1.79
Peter Rabbitson [Thu, 25 Sep 2014 12:00:59 +0000]
Release 1.79

9 years agoEven though MRO::C is a dep of Moo, specify it explicitly
Peter Rabbitson [Thu, 25 Sep 2014 11:59:55 +0000]
Even though MRO::C is a dep of Moo, specify it explicitly

Some folks do this http://cpanratings.perl.org/dist/SQL-Abstract#9620

9 years agoDeprecate and properly handle empty lhs
Peter Rabbitson [Thu, 25 Sep 2014 11:08:35 +0000]
Deprecate and properly handle empty lhs

9 years agoMore robust Moo import block (modelled on DBIC)
Peter Rabbitson [Wed, 24 Sep 2014 00:25:20 +0000]
More robust Moo import block (modelled on DBIC)

9 years agoUpdating links to repositories, added GitHub mirror
Rudolf Leermakers [Tue, 23 Sep 2014 23:29:56 +0000]
Updating links to repositories, added GitHub mirror

Modelled on the corresponding DBIC setup

9 years agoMinor documentation fixes; typos, POD formatting code syntax, return value explanatio...
Rudolf Leermakers [Tue, 23 Sep 2014 23:01:11 +0000]
Minor documentation fixes; typos, POD formatting code syntax, return value explanation consistency

9 years agoLink fixes (no other changes)
Peter Rabbitson [Sun, 21 Sep 2014 17:40:27 +0000]
Link fixes (no other changes)

9 years agoWarn if _recurse_where is called in scalar context
Dagfinn Ilmari Mannsåker [Sat, 12 Apr 2014 17:09:17 +0000]
Warn if _recurse_where is called in scalar context

DBIC used to do this, but doesn't any more. Still something else might...

9 years agoTruly fix literal+bind examples (build upon a3e3e6a18)
Peter Rabbitson [Sat, 20 Sep 2014 23:03:12 +0000]
Truly fix literal+bind examples (build upon a3e3e6a18)

Throw away the dummy text - it was always misleading and incorrect
Add some space to clarify which part is which

9 years agoFix typos in literal + bind examples
Dagfinn Ilmari Mannsåker [Tue, 22 Jul 2014 22:52:47 +0000]
Fix typos in literal + bind examples

9 years agoIRC meta
Peter Rabbitson [Fri, 19 Sep 2014 16:05:12 +0000]
IRC meta

9 years agoWell how about them apples?! Add temporary overload-madness escape hatch
Peter Rabbitson [Fri, 19 Sep 2014 15:54:52 +0000]
Well how about them apples?! Add temporary overload-madness escape hatch

9 years agoBoolification-derived-stringification is a thing... just shoot me now
Peter Rabbitson [Fri, 19 Sep 2014 14:35:14 +0000]
Boolification-derived-stringification is a thing... just shoot me now

9 years agoAn arrayref makes sense for literals, but no sense for values
Peter Rabbitson [Sun, 14 Sep 2014 17:45:01 +0000]
An arrayref makes sense for literals, but no sense for values

Change the API before it goes live (extra benefit - no mixing up of
the functions by accident)

9 years agoMore (still passing!!!) test cases after conversation with FC
Peter Rabbitson [Wed, 10 Sep 2014 05:51:11 +0000]
More (still passing!!!) test cases after conversation with FC

9 years agoEven more versatile is_plain_value testing - feeble attempts to trip up perl
Peter Rabbitson [Fri, 5 Sep 2014 06:16:57 +0000]
Even more versatile is_plain_value testing - feeble attempts to trip up perl

This is an attempt to simulate the behavior of JSON::PP::Boolean, and to
replicate the error autarch was seeing - clearly there is more to it than
just simple value juggling. Oh well, commit already written tests anyway.

See further commits for the actual code changes

9 years agoMake sure is_plain_value returns the actual object pre-stringify
Peter Rabbitson [Fri, 5 Sep 2014 08:37:21 +0000]
Make sure is_plain_value returns the actual object pre-stringify

This is important since DBIC is starting to heavily rely on the
contents of the returned []

9 years agoEven more reuse of @_
Peter Rabbitson [Fri, 5 Sep 2014 07:59:15 +0000]
Even more reuse of @_

9 years ago{ -ident => undef } makes zero sense
Peter Rabbitson [Thu, 4 Sep 2014 10:29:49 +0000]
{ -ident => undef } makes zero sense

9 years agoCorrect comments about overload methods vs. ->can()
Dagfinn Ilmari Mannsåker [Fri, 18 Jul 2014 09:08:01 +0000]
Correct comments about overload methods vs. ->can()

9 years agoAha - this is why I didn't use ->can originally
Peter Rabbitson [Thu, 17 Jul 2014 17:05:49 +0000]
Aha - this is why I didn't use ->can originally

Punt for the time being, will investigate why later. The error looks like:

rabbit@Ahasver:~/devel/dbic$ git rev-parse HEAD
32497625ce5699576c8a63edd16401d4f741c282

rabbit@Ahasver:~/devel/dbic$ PERL5LIB=/home/rabbit/devel/sqla/lib prove -lT t/100populate.t
t/100populate.t .. 1/? Stub found while resolving method "???" overloading """" in package "Path::Class::File" at /home/rabbit/devel/sqla/lib/SQL/Abstract.pm line 118, <> line 1.
t/100populate.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
All 43 subtests passed

Test Summary Report
-------------------
t/100populate.t (Wstat: 65280 Tests: 43 Failed: 0)
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output
Files=1, Tests=43,  1 wallclock secs ( 0.04 usr  0.00 sys +  0.90 cusr  0.03 csys =  0.97 CPU)
Result: FAIL

9 years agoNew exportable functions: is_literal_value($) and is_plain_value($)
Peter Rabbitson [Thu, 17 Jul 2014 09:23:53 +0000]
New exportable functions: is_literal_value($) and is_plain_value($)

Ported from DBIC with some corner case fixes added.

9 years agoFix -values not being handled properly with NULLs
Peter Rabbitson [Wed, 16 Jul 2014 11:50:55 +0000]
Fix -values not being handled properly with NULLs

9 years agoEscape closing quote character in table and column names
Dagfinn Ilmari Mannsåker [Thu, 29 May 2014 09:12:08 +0000]
Escape closing quote character in table and column names

9 years agoAfter 5f3fa0ac script/ is no more
Peter Rabbitson [Wed, 16 Jul 2014 11:47:43 +0000]
After 5f3fa0ac script/ is no more

9 years agoFixup descriptions a bit
Peter Rabbitson [Wed, 16 Jul 2014 10:00:47 +0000]
Fixup descriptions a bit

9 years agoAdd basic .dir-locals.el
Dagfinn Ilmari Mannsåker [Wed, 25 Jun 2014 17:07:37 +0000]
Add basic .dir-locals.el

9 years agorelease 1.78 v1.78
Peter Rabbitson [Wed, 28 May 2014 10:13:30 +0000]
release 1.78

9 years agoDrop reqs - works on 5.6.1 just fine
Peter Rabbitson [Wed, 28 May 2014 10:07:54 +0000]
Drop reqs - works on 5.6.1 just fine

9 years agoRewrite sql formatter script and shove it into examples until more tested
Peter Rabbitson [Wed, 28 May 2014 10:06:10 +0000]
Rewrite sql formatter script and shove it into examples until more tested

Combined with the opportunistic parser this little tool has the promise of
actually being useful outside of the echo chamber. Someone with good UX
skillz ought to take this to the next level... or something ;)

9 years agoSwap CAG with Moo, lazify a lot of the profile selection
Peter Rabbitson [Wed, 21 May 2014 13:15:04 +0000]
Swap CAG with Moo, lazify a lot of the profile selection

There should be zero functional changes

9 years agoPort the \[] *_sql_bind unpacker from DBIC
Peter Rabbitson [Tue, 27 May 2014 18:06:03 +0000]
Port the \[] *_sql_bind unpacker from DBIC

9 years agoUse variables to simplify grocking the parenthesis unroller rules
Peter Rabbitson [Wed, 21 May 2014 10:08:26 +0000]
Use variables to simplify grocking the parenthesis unroller rules

Zero (hopefully) functional changes

9 years agoFix the reassembler to treat RNO as the precious special snowflake it is
Arthur Axel 'fREW' Schmidt [Fri, 14 Mar 2014 16:12:05 +0000]
Fix the reassembler to treat RNO as the precious special snowflake it is

Yes, the parser is accumulating a lot of cruft this way with special casing
and whatnot, and yes it is necessary for the future when we write a real
parser which will *HAVE* to deal with the corner cases. The accumulated set
of tests is the goal here (with the side effect of better UX) -- ribasushi

9 years agoTreat RNO as a unary op, and properly normalize it
Peter Rabbitson [Wed, 21 May 2014 09:22:24 +0000]
Treat RNO as a unary op, and properly normalize it

9 years agoOriginal (now passing) test for 08e163601
Arthur Axel 'fREW' Schmidt [Wed, 26 Feb 2014 17:56:12 +0000]
Original (now passing) test for 08e163601

9 years agoFix the binop leg of the parser to correctly consider only a single LHS node
Peter Rabbitson [Wed, 21 May 2014 08:46:16 +0000]
Fix the binop leg of the parser to correctly consider only a single LHS node

Work gracefully around malformed "no lhs" cases as well

10 years agorelease 1.77 v1.77
Peter Rabbitson [Fri, 17 Jan 2014 01:03:15 +0000]
release 1.77

10 years agoPort scalarref in array of sources test from dq (7732c37a)
Peter Rabbitson [Thu, 16 Jan 2014 23:39:31 +0000]
Port scalarref in array of sources test from dq (7732c37a)

10 years agoFix regression in column level { not => undef } op
Peter Rabbitson [Thu, 16 Jan 2014 23:14:23 +0000]
Fix regression in column level { not => undef } op

In 3cdadcbe we stopped considering a bare 'not' being an inequality op.
However there is code in the wild relying on this, so add an extra
compat shim (cheap)

10 years agoCheck for extra warnings, and diag input and output
Dagfinn Ilmari Mannsåker [Fri, 3 Jan 2014 18:26:01 +0000]
Check for extra warnings, and diag input and output

We want to test the _lack_ of warnings as well, and having the input and
output is handy for figuring out what's wrong.

10 years agoDiag input and output for unexpected success
Dagfinn Ilmari Mannsåker [Fri, 3 Jan 2014 15:03:46 +0000]
Diag input and output for unexpected success

10 years agoEnsure that multi-nested parenthesis are never unrolled after IN
Peter Rabbitson [Fri, 3 Jan 2014 16:57:16 +0000]
Ensure that multi-nested parenthesis are never unrolled after IN

This lets us remove parenthesis_significant from many tests that do
not need it, including reversal of 1ba9d0f03

10 years agoParentheses are significant in IN tests
Dagfinn Ilmari Mannsåker [Fri, 27 Dec 2013 14:52:12 +0000]
Parentheses are significant in IN tests

10 years agorelease 1.75 v1.75
Peter Rabbitson [Fri, 27 Dec 2013 04:49:24 +0000]
release 1.75

10 years agoMove simple IN/BETWEEN tests to t/05in_between.t
Dagfinn Ilmari Mannsåker [Thu, 26 Dec 2013 21:27:11 +0000]
Move simple IN/BETWEEN tests to t/05in_between.t

No changes in the actual tests except splitting the empty array and
scalar tests for IN into separate cases.

10 years agoActually use the descriptions in the test cases
Dagfinn Ilmari Mannsåker [Thu, 26 Dec 2013 21:28:27 +0000]
Actually use the descriptions in the test cases

10 years agoAn old (now passing) test for regression introduced in 6f2a5b6
Arthur Axel 'fREW' Schmidt [Fri, 20 Apr 2012 18:46:28 +0000]
An old (now passing) test for regression introduced in 6f2a5b6

10 years agoPort fce4b7a9 from the DQ branch (with warning expectation ammendments)
Dagfinn Ilmari Mannsåker [Fri, 6 Dec 2013 17:24:22 +0000]
Port fce4b7a9 from the DQ branch (with warning expectation ammendments)

10 years agoReintroduce handling of IS( NOT) ops
Peter Rabbitson [Thu, 26 Dec 2013 08:23:06 +0000]
Reintroduce handling of IS( NOT) ops

This is undocumented syntax, but it is very likely someone is using it in
the wild, and the previous inequality op handler rewrite broke this

10 years agoExtensive tests and deprecations of multivalue/no value inequality op calls
Peter Rabbitson [Thu, 26 Dec 2013 05:47:18 +0000]
Extensive tests and deprecations of multivalue/no value inequality op calls

All sql-generation tests match pre <= 1.74 behavior (except for the newly
added rlike operator, which now warns while it simply did not work with
undefs before)

10 years agoMove test to a better location (no changes)
Peter Rabbitson [Thu, 26 Dec 2013 05:28:02 +0000]
Move test to a better location (no changes)

10 years agoNormalize handling of expected warnings/exceptions in tests
Peter Rabbitson [Thu, 26 Dec 2013 05:26:51 +0000]
Normalize handling of expected warnings/exceptions in tests

10 years agoRemove many of the settled-by-time comments, modernize a bit
Peter Rabbitson [Thu, 26 Dec 2013 05:07:25 +0000]
Remove many of the settled-by-time comments, modernize a bit

10 years agoCentralize handling of in-test dumpering
Peter Rabbitson [Thu, 26 Dec 2013 04:29:17 +0000]
Centralize handling of in-test dumpering

10 years agoExtra stopword (we need to find a way to introduce dialects...)
Peter Rabbitson [Sun, 22 Dec 2013 11:36:59 +0000]
Extra stopword (we need to find a way to introduce dialects...)

10 years agoNo tabs, no trailers
Peter Rabbitson [Wed, 18 Dec 2013 13:50:36 +0000]
No tabs, no trailers

10 years agoMake it clearer in examples that bool takes expressions
Peter Rabbitson [Wed, 18 Dec 2013 13:25:05 +0000]
Make it clearer in examples that bool takes expressions

timbunce++

10 years agoTest BETWEEN after the IN debacle (luckily it throws in all expected cases)
Peter Rabbitson [Wed, 18 Dec 2013 10:15:20 +0000]
Test BETWEEN after the IN debacle (luckily it throws in all expected cases)

Generalize the emitted exception text

10 years agoWe already have Storable as a dep, this is pointless
Peter Rabbitson [Wed, 18 Dec 2013 10:20:23 +0000]
We already have Storable as a dep, this is pointless

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 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 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 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 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