Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

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.
  • Loading branch information...
commit 9ff52272361184ab8ba4dd67da4312232fec0fe8 1 parent 82977fd
Peter Rabbitson authored February 14, 2013
15  Changes
... ...
@@ -1,8 +1,21 @@
1 1
 Revision history for DBIx::Class
2 2
 
  3
+0.08240-TRIAL (EXPERIMENTAL BETA RELEASE) 2013-02-14 05:56 (UTC)
3 4
     * New Features / Changes
  5
+        - Rewrite from scratch the result constructor codepath - many bugfixes
  6
+          and performance improvements (the current codebase is now capable of
  7
+          outperforming both DBIx::DataModel and Rose::DB::Object on some
  8
+          workloads). Some notable benefits:
  9
+          - Multiple has_many prefetch
  10
+          - Partial prefetch - you now can select only columns you are
  11
+            interested in, while preserving the collapse functionality
  12
+            (collapse is now exposed as a first-class API attribute)
  13
+          - Prefetch of resultsets with arbitrary order
  14
+            (RT#54949, RT#74024, RT#74584)
  15
+          - Prefetch no longer inserts right-side table order_by clauses
  16
+            (massively helps the deficient MySQL optimizer)
4 17
         - Massively optimize codepath around ->cursor(), over 10x speedup
5  
-          on some workloads
  18
+          on some iterating workloads.
6 19
 
7 20
     * Fixes
8 21
         - Fix open cursors silently resetting when inherited across a fork
2  lib/DBIx/Class.pm
@@ -11,7 +11,7 @@ our $VERSION;
11 11
 # $VERSION declaration must stay up here, ahead of any other package
12 12
 # declarations, as to not confuse various modules attempting to determine
13 13
 # this ones version, whether that be s.c.o. or Module::Metadata, etc
14  
-$VERSION = '0.08206';
  14
+$VERSION = '0.08240';
15 15
 
16 16
 $VERSION = eval $VERSION if $VERSION =~ /_/; # numify for warning-free dev releases
17 17
 
13  maint/Makefile.PL.inc/29_handle_version.pl
@@ -16,10 +16,17 @@
16 16
   die "Illegal version $version_string - we are still in the 0.08 cycle\n"
17 17
 }
18 18
 
  19
+if ($v_point >= 300) {
  20
+  die "Illegal version $version_string - we are still in the 0.082xx cycle\n"
  21
+}
19 22
 
20  
-# all odd releases *after* 0.08200 generate a -TRIAL, no exceptions
21  
-Meta->makemaker_args->{DISTVNAME} = Meta->name . "-$version_string-TRIAL"
22  
-  if ( $v_point > 200 and int($v_point / 100) % 2 );
  23
+Meta->makemaker_args->{DISTVNAME} = Meta->name . "-$version_string-TRIAL" if (
  24
+  # 0.08240 ~ 0.08249 shall be TRIALs for the collapser rewrite
  25
+  ( $v_point >= 240  and $v_point <= 249 )
  26
+    or
  27
+  # all odd releases *after* 0.08200 generate a -TRIAL, no exceptions
  28
+  ( $v_point > 200 and int($v_point / 100) % 2 )
  29
+);
23 30
 
24 31
 
25 32
 my $tags = { map { chomp $_; $_ => 1} `git tag` };

0 notes on commit 9ff5227

Please sign in to comment.
Something went wrong with that request. Please try again.