From: Peter Rabbitson Date: Thu, 14 Feb 2013 05:59:27 +0000 (+0100) Subject: EXPERIMENTAL Release 0.08240 X-Git-Tag: v0.08240^0 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=dbsrgits%2FDBIx-Class.git;a=commitdiff_plain;h=9ff52272361184ab8ba4dd67da4312232fec0fe8 EXPERIMENTAL Release 0.08240 Adjust the distbuilding to tag 240~249 releases as TRIAL, aiming for 0.08250 as "DBIC with sane prefetch". Massive thanks to mna for enduring hours of pondering on the design and implementation - this code would not exist without your help. --- diff --git a/Changes b/Changes index 53fce16..2812b1a 100644 --- a/Changes +++ b/Changes @@ -1,8 +1,21 @@ Revision history for DBIx::Class +0.08240-TRIAL (EXPERIMENTAL BETA RELEASE) 2013-02-14 05:56 (UTC) * New Features / Changes + - Rewrite from scratch the result constructor codepath - many bugfixes + and performance improvements (the current codebase is now capable of + outperforming both DBIx::DataModel and Rose::DB::Object on some + workloads). Some notable benefits: + - Multiple has_many prefetch + - Partial prefetch - you now can select only columns you are + interested in, while preserving the collapse functionality + (collapse is now exposed as a first-class API attribute) + - Prefetch of resultsets with arbitrary order + (RT#54949, RT#74024, RT#74584) + - Prefetch no longer inserts right-side table order_by clauses + (massively helps the deficient MySQL optimizer) - Massively optimize codepath around ->cursor(), over 10x speedup - on some workloads + on some iterating workloads. * Fixes - Fix open cursors silently resetting when inherited across a fork diff --git a/lib/DBIx/Class.pm b/lib/DBIx/Class.pm index eafc15a..e49554e 100644 --- a/lib/DBIx/Class.pm +++ b/lib/DBIx/Class.pm @@ -11,7 +11,7 @@ our $VERSION; # $VERSION declaration must stay up here, ahead of any other package # declarations, as to not confuse various modules attempting to determine # this ones version, whether that be s.c.o. or Module::Metadata, etc -$VERSION = '0.08206'; +$VERSION = '0.08240'; $VERSION = eval $VERSION if $VERSION =~ /_/; # numify for warning-free dev releases diff --git a/maint/Makefile.PL.inc/29_handle_version.pl b/maint/Makefile.PL.inc/29_handle_version.pl index a5f8ad2..7747051 100644 --- a/maint/Makefile.PL.inc/29_handle_version.pl +++ b/maint/Makefile.PL.inc/29_handle_version.pl @@ -16,10 +16,17 @@ if ($v_maj != 0 or $v_min > 8) { die "Illegal version $version_string - we are still in the 0.08 cycle\n" } +if ($v_point >= 300) { + die "Illegal version $version_string - we are still in the 0.082xx cycle\n" +} -# all odd releases *after* 0.08200 generate a -TRIAL, no exceptions -Meta->makemaker_args->{DISTVNAME} = Meta->name . "-$version_string-TRIAL" - if ( $v_point > 200 and int($v_point / 100) % 2 ); +Meta->makemaker_args->{DISTVNAME} = Meta->name . "-$version_string-TRIAL" if ( + # 0.08240 ~ 0.08249 shall be TRIALs for the collapser rewrite + ( $v_point >= 240 and $v_point <= 249 ) + or + # all odd releases *after* 0.08200 generate a -TRIAL, no exceptions + ( $v_point > 200 and int($v_point / 100) % 2 ) +); my $tags = { map { chomp $_; $_ => 1} `git tag` };