r76333 - in /trunk/libclass-dbi-lite-perl: ./ debian/ lib/Class/DBI/ lib/Class/DBI/Lite/ t/

mxey-guest at users.alioth.debian.org mxey-guest at users.alioth.debian.org
Thu Jun 23 11:59:33 UTC 2011


Author: mxey-guest
Date: Thu Jun 23 11:59:30 2011
New Revision: 76333

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=76333
Log:
New upstream release

Modified:
    trunk/libclass-dbi-lite-perl/Changes
    trunk/libclass-dbi-lite-perl/META.yml
    trunk/libclass-dbi-lite-perl/Makefile.PL
    trunk/libclass-dbi-lite-perl/debian/changelog
    trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite.pm
    trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/AdHocEntity.pm
    trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/Dataset.pm
    trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/EntityMeta.pm
    trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/RootMeta.pm
    trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/SQLite.pm
    trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/mysql.pm
    trunk/libclass-dbi-lite-perl/t/testdb

Modified: trunk/libclass-dbi-lite-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-dbi-lite-perl/Changes?rev=76333&op=diff
==============================================================================
--- trunk/libclass-dbi-lite-perl/Changes (original)
+++ trunk/libclass-dbi-lite-perl/Changes Thu Jun 23 11:59:30 2011
@@ -1,4 +1,13 @@
 Revision history for Perl extension Class::DBI::Lite.
+
+1.021   2011-06-14
+  - Upgrade Recommended!!
+  - BUG FIX: `before_update` triggers which caused changes to an object did not get those
+    changes saved as part of the final update.
+
+1.020   2011-06-05
+  - Updates to work with changes in the public interface of Ima::DBI::Contextual.
+  - No other changes.
 
 1.019   2011-04-08
   - Updated POD to use the new lowercase classname standard - as in .NET's Entity Framework.

Modified: trunk/libclass-dbi-lite-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-dbi-lite-perl/META.yml?rev=76333&op=diff
==============================================================================
--- trunk/libclass-dbi-lite-perl/META.yml (original)
+++ trunk/libclass-dbi-lite-perl/META.yml Thu Jun 23 11:59:30 2011
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:                Class-DBI-Lite
-version:             1.019
+version:             1.021
 abstract:            Lightweight ORM for Perl
 license:             Perl
 author:              
@@ -10,7 +10,7 @@
 requires:     
     DBD::SQLite:                   0
     DBI:                           0
-    Ima::DBI::Contextual:          0
+    Ima::DBI::Contextual:          1.001
     SQL::Abstract:                 0
     SQL::Abstract::Limit:          0
     Test::Memory::Cycle:           0

Modified: trunk/libclass-dbi-lite-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-dbi-lite-perl/Makefile.PL?rev=76333&op=diff
==============================================================================
--- trunk/libclass-dbi-lite-perl/Makefile.PL (original)
+++ trunk/libclass-dbi-lite-perl/Makefile.PL Thu Jun 23 11:59:30 2011
@@ -14,7 +14,7 @@
 test_requires 'DBD::SQLite'         => 0;
 
 requires 'DBI'                      => 0;
-requires 'Ima::DBI::Contextual'     => 0;
+requires 'Ima::DBI::Contextual'     => 1.001;
 requires 'DBIx::ContextualFetch'    => 0;
 requires 'SQL::Abstract'            => 0;
 requires 'SQL::Abstract::Limit'     => 0;

Modified: trunk/libclass-dbi-lite-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-dbi-lite-perl/debian/changelog?rev=76333&op=diff
==============================================================================
--- trunk/libclass-dbi-lite-perl/debian/changelog (original)
+++ trunk/libclass-dbi-lite-perl/debian/changelog Thu Jun 23 11:59:30 2011
@@ -1,3 +1,9 @@
+libclass-dbi-lite-perl (1.021-1) UNRELEASED; urgency=low
+
+  * New upstream release
+
+ -- Maximilian Gass <mxey at cloudconnected.org>  Thu, 23 Jun 2011 13:59:23 +0200
+
 libclass-dbi-lite-perl (1.019-1) unstable; urgency=low
 
   * Initial Release. (Closes: #624108)

Modified: trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite.pm?rev=76333&op=diff
==============================================================================
--- trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite.pm (original)
+++ trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite.pm Thu Jun 23 11:59:30 2011
@@ -18,7 +18,7 @@
   bool      => sub { eval { $_[0]->id } },
   fallback  => 1;
 
-our $VERSION = '1.019';
+our $VERSION = '1.021';
 our $meta;
 
 our %DBI_OPTIONS = (
@@ -388,7 +388,7 @@
   else
   {
     # Success:
-    $s->commit;
+    $s->dbi_commit;
     return $res;
   }# end if()
 }# end do_transaction()
@@ -404,13 +404,12 @@
   
   $s->_call_triggers( before_update => $s );
   
-  my $changed = delete( $s->{__Changed} );
-  $s->{__Changed} = { };
-  
+  my $changed = $s->{__Changed};
   foreach my $field ( grep { $changed->{$_} } sort keys(%$s) )
   {
     $s->_call_triggers( "before_update_$field", $changed->{$field}->{oldval}, $s->{$field} );
   }# end foreach()
+  
   
   # Make our SQL:
   my @fields  = map { "$_ = ?" } grep { $changed->{$_} } sort keys(%$s);
@@ -823,12 +822,28 @@
 {
   my ($s, %args) = @_;
   
-  if( my ($obj) = $s->search( %args ) )
-  {
-    return $obj;
+  my $result = eval {
+    $s->do_transaction(sub {
+#      $s->lock_table( $s->table );
+      
+      if( my ($obj) = $s->search( %args ) )
+      {
+#        $s->unlock_table( $s->table );
+        return $obj;
+      }# end if()
+      
+      my $obj = $s->create( %args );
+#      $s->unlock_table( $s->table );
+      return $obj;
+    });
+  };
+  if( $@ )
+  {
+    die $@;
+#    $s->unlock_table( $s->table );
   }# end if()
   
-  return $s->create( %args );
+  return $result;
 }# end find_or_create()
 
 
@@ -969,7 +984,7 @@
 {
   my $s = shift;
   return if $s->db_Main->{AutoCommit};
-  $s->SUPER::commit( @_ );
+  $s->db_Main->commit( @_ );
 }# end dbi_commit()
 
 
@@ -1012,7 +1027,7 @@
 sub dbi_rollback
 {
   my $s = shift;
-  $s->SUPER::rollback( @_ );
+  $s->db_Main->rollback( @_ );
 }# end dbi_rollback()
 
 
@@ -1104,6 +1119,10 @@
     bool      => sub { undef },
     fallback  => 1;
 }
+
+
+sub lock_table;
+sub unlock_table;
 
 1;# return true:
 

Modified: trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/AdHocEntity.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/AdHocEntity.pm?rev=76333&op=diff
==============================================================================
--- trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/AdHocEntity.pm (original)
+++ trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/AdHocEntity.pm Thu Jun 23 11:59:30 2011
@@ -1,5 +1,6 @@
 
-package Class::DBI::Lite::AdHocEntity;
+package 
+Class::DBI::Lite::AdHocEntity;
 
 use strict;
 use warnings 'all';

Modified: trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/Dataset.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/Dataset.pm?rev=76333&op=diff
==============================================================================
--- trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/Dataset.pm (original)
+++ trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/Dataset.pm Thu Jun 23 11:59:30 2011
@@ -1,5 +1,6 @@
 
-package Class::DBI::Lite::Dataset;
+package 
+Class::DBI::Lite::Dataset;
 
 use strict;
 use warnings 'all';

Modified: trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/EntityMeta.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/EntityMeta.pm?rev=76333&op=diff
==============================================================================
--- trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/EntityMeta.pm (original)
+++ trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/EntityMeta.pm Thu Jun 23 11:59:30 2011
@@ -1,5 +1,6 @@
 
-package Class::DBI::Lite::EntityMeta;
+package 
+Class::DBI::Lite::EntityMeta;
 
 use strict;
 use warnings 'all';

Modified: trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/RootMeta.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/RootMeta.pm?rev=76333&op=diff
==============================================================================
--- trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/RootMeta.pm (original)
+++ trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/RootMeta.pm Thu Jun 23 11:59:30 2011
@@ -1,5 +1,6 @@
 
-package Class::DBI::Lite::RootMeta;
+package 
+Class::DBI::Lite::RootMeta;
 
 use strict;
 use warnings 'all';

Modified: trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/SQLite.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/SQLite.pm?rev=76333&op=diff
==============================================================================
--- trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/SQLite.pm (original)
+++ trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/SQLite.pm Thu Jun 23 11:59:30 2011
@@ -128,5 +128,8 @@
   $_[0]->db_Main->func('last_insert_rowid');
 }# end get_last_insert_id()
 
+sub lock_table { }
+sub unlock_table { }
+
 1;# return true:
 

Modified: trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/mysql.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/mysql.pm?rev=76333&op=diff
==============================================================================
--- trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/mysql.pm (original)
+++ trunk/libclass-dbi-lite-perl/lib/Class/DBI/Lite/mysql.pm Thu Jun 23 11:59:30 2011
@@ -83,8 +83,7 @@
     Essential => \@cols,
     All       => \@cols,
   };
-  1;
-}# end set_up_table()
+}# end get_meta_columns()
 
 
 #==============================================================================
@@ -155,5 +154,19 @@
   $_[0]->db_Main->{mysql_insertid};
 }# end get_last_insert_id()
 
+
+sub lock_table
+{
+  my ($s, $table) = @_;
+  
+  $s->db_Main->do("lock tables $table read");
+}# end lock_table()
+
+
+sub unlock_table
+{
+  shift->db_Main->do("unlock tables");
+}# end unlock_table()
+
 1;# return true:
 

Modified: trunk/libclass-dbi-lite-perl/t/testdb
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-dbi-lite-perl/t/testdb?rev=76333&op=diff
==============================================================================
Binary files - no diff available.




More information about the Pkg-perl-cvs-commits mailing list