…ed object Reason is a typo-ed hash element in a weaken() call back in 68f3b0d. Add a bunch of extra tests to catch this, and also better validate the new_related behavior.
Now things like multi-value \[ ' ? || ?', [...], [...] ] and populate datasets where the values of the \ change per row work correctly
This saves us from pivoting our data into column slices, which execute_array promptly turns back into our initial row-based format to feed to execute_for_fetch. Apart from the obvious speed gain, this saves a lot of memory since it avoids 2 copies of the (possibly rather large) dataset
When using the bulk API, update the binds to the structure expected by _execute_array. Also temporarily disable $sth->finish in the bulk API codepath because for some reason it rolls everything back. Modify the test to always exercise both codepaths from now on.
Zero functional changes
Also add explicit guard for attempts to `make dist` from within non-author mode. The rationale is to disallow dist building on machines that do not have the optdeps installed (this still does not giarantee `make test` will run, but is at least a nudge in the right direction)
Issue a carp_unique when DateTime objects are detected in binds in ::Storage::DBI with a pointer to the Cookbook recipe for formatting DateTime objects for queries. Add a test for the warning in t/inflate/datetime.t, which already has TODO tests for DTs in ->search.
…dle for slurping
…ding - Now we auto-pull from git what we want to benchmark (by default last 2 commits + uncommitted changes if any) - Run a very tight benchmarking loop, without requerying SQLite or have any other unrelated distractions - use DumbBench (much saner implementation and results, though slower)
Codebase didn't take in account the fact that limit bindvals for SELECT FIRST x SKIP y and SELECT FIRST x SKIP y need to be inserted at the head of the bind-assembly chain. Hence introducing a new bind-chunk position 'pre_select'. While at it move the TOP dialect to use it as well. Extensive tests for both dialects, and also augment the test for the Oracle RowNum dialect (no fixes necessary)