[Rt-commit] r1984 - in DBIx-SearchBuilder/trunk: .
SearchBuilder/Record
jesse at bestpractical.com
jesse at bestpractical.com
Thu Dec 16 14:46:49 EST 2004
Author: jesse
Date: Sat Dec 11 15:34:15 2004
New Revision: 1984
Modified:
DBIx-SearchBuilder/trunk/ (props changed)
DBIx-SearchBuilder/trunk/Changes
DBIx-SearchBuilder/trunk/META.yml
DBIx-SearchBuilder/trunk/SIGNATURE
DBIx-SearchBuilder/trunk/SearchBuilder.pm
DBIx-SearchBuilder/trunk/SearchBuilder/Record/Cachable.pm
Log:
r1997 at hualien: jesse | 2004-12-10T05:11:39.224755Z
This be 1.16. cache coherency fixes
Modified: DBIx-SearchBuilder/trunk/Changes
==============================================================================
--- DBIx-SearchBuilder/trunk/Changes (original)
+++ DBIx-SearchBuilder/trunk/Changes Sat Dec 11 15:34:15 2004
@@ -1,5 +1,11 @@
Revision history for Perl extension DBIx::SearchBuilder.
+1.16 Thu Dec 9 23:49:39 EST 2004
+ - Fixed a bug in D::SB::R::Cachable that could cause it to load the wrong row from the cache if you were loading
+ by alternate keys and had since changed one of the attributes of a previous row. This was unmasked by a
+ bug that Ruslan Zakirov found in RT 3.3's custom field handling
+
+
1.15 Sat Nov 27 13:09:56 EST 2004
- Fix a testsuite bug when DBD::SQLite isn't there
Modified: DBIx-SearchBuilder/trunk/META.yml
==============================================================================
--- DBIx-SearchBuilder/trunk/META.yml (original)
+++ DBIx-SearchBuilder/trunk/META.yml Sat Dec 11 15:34:15 2004
@@ -1,5 +1,5 @@
name: DBIx-SearchBuilder
-version: 1.14
+version: 1.16
license: perl
distribution_type: module
build_requires:
Modified: DBIx-SearchBuilder/trunk/SIGNATURE
==============================================================================
--- DBIx-SearchBuilder/trunk/SIGNATURE (original)
+++ DBIx-SearchBuilder/trunk/SIGNATURE Sat Dec 11 15:34:15 2004
@@ -14,11 +14,11 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-SHA1 5d644b1b952a067b9a0079d35dfb643f2a539e75 Changes
+SHA1 d37781e9b72e7691a1cecfc2f57b0075ef117e4d Changes
SHA1 024a044f3adb3dfab393ce3e549dcf86b99935ce MANIFEST
-SHA1 9d7fb976383428b91abaaa0751ee09d766abe321 META.yml
+SHA1 345a3aab854bf9f1f94405b667963144bc5c9970 META.yml
SHA1 9921c69b0d05a54c5bb744a13cf1538bb06c4d82 Makefile.PL
-SHA1 a7acd9c76ea3231ffcb1b48f839b30402a8c3880 SearchBuilder.pm
+SHA1 ba20688f2ceb9667c1cce4e4844a41f2d40db40d SearchBuilder.pm
SHA1 54e8db633ab6ae417a04e98bc70a9268353932f0 SearchBuilder/Handle.pm
SHA1 0103d897704a95032b32363dc65ea4f0d8f5965d SearchBuilder/Handle/Informix.pm
SHA1 861cee4205d1f367af5cc68b561fd37e38c1acf0 SearchBuilder/Handle/ODBC.pm
@@ -29,19 +29,19 @@
SHA1 6399c19c7600c01f75e187facb1c01b2611b95df SearchBuilder/Handle/mysql.pm
SHA1 f4f6ea88631e6310243b6351e8df11e1ec88b261 SearchBuilder/Handle/mysqlPP.pm
SHA1 9f7fb45b282503ec4a9a9ede420c9b1cdb5ab5fc SearchBuilder/Record.pm
-SHA1 2d817db076079eebb8a8001ae252e53cc396d69e SearchBuilder/Record/Cachable.pm
+SHA1 4ecb1213589d62c08b3e3bb46bffbd9cda09ea10 SearchBuilder/Record/Cachable.pm
SHA1 446f59a1fa8fa631c908f1fe3ea671c7178c9270 SearchBuilder/Union.pm
-SHA1 0de53a33616127f8680e6e4118741e80f354cd3e inc/Module/Install.pm
-SHA1 11d43fa1484b63eb90b0a3a1b62dcb7e71060084 inc/Module/Install/Base.pm
-SHA1 836dc65ebcb2913f5a7da77ddba4b6d46bd98f99 inc/Module/Install/Makefile.pm
-SHA1 2d0fae3f1ecf71666075b39911cb4694b1310edd inc/Module/Install/Metadata.pm
+SHA1 05d89e1fe6d49cd518b5a3e6694cc313e655fb02 inc/Module/Install.pm
+SHA1 2e300b145ee61eea9dfd71624b17b0bc9218aa4f inc/Module/Install/Base.pm
+SHA1 e094fe96aef06c68d7a424818c12e52b11f1ccdd inc/Module/Install/Makefile.pm
+SHA1 e448c6dc5351ef425e3f8bdbeb642409120bc3ca inc/Module/Install/Metadata.pm
SHA1 c56b4e38f1bdf2c2c9b4bc415fe1437e11d18686 t/00.load.t
-SHA1 52a2cc7d86bd6e8aa4414484e085e3f52acb7656 t/01records.t
+SHA1 1a9eba3bb7a2e605d73e56c193fb5bd7cb83c235 t/01records.t
SHA1 e9c6a5881fc60173fbc8d479c1afd2ce3b43bef1 t/pod.t
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.2.4 (Darwin)
+Version: GnuPG v1.2.5 (GNU/Linux)
-iD8DBQFBp/c7Ei9d9xCOQEYRAtnYAJ49LM+Lm+p9Q2t/QmSCAKftBgOrBQCfTvCi
-T85+JnYiYaiE7NfHUoW9Nl0=
-=tlhX
+iD8DBQFBuS/zEi9d9xCOQEYRAkiHAKCaAEW3a4LT8WZIlO4HxtHh0vZ32gCggo5E
+EkecKsWtnsrzqoZ+SE8b3mQ=
+=ZK+4
-----END PGP SIGNATURE-----
Modified: DBIx-SearchBuilder/trunk/SearchBuilder.pm
==============================================================================
--- DBIx-SearchBuilder/trunk/SearchBuilder.pm (original)
+++ DBIx-SearchBuilder/trunk/SearchBuilder.pm Sat Dec 11 15:34:15 2004
@@ -5,7 +5,7 @@
use strict;
use vars qw($VERSION);
-$VERSION = "1.15";
+$VERSION = "1.16";
=head1 NAME
Modified: DBIx-SearchBuilder/trunk/SearchBuilder/Record/Cachable.pm
==============================================================================
--- DBIx-SearchBuilder/trunk/SearchBuilder/Record/Cachable.pm (original)
+++ DBIx-SearchBuilder/trunk/SearchBuilder/Record/Cachable.pm Sat Dec 11 15:34:15 2004
@@ -75,6 +75,19 @@
}
+=head2 _FlushKeyCache
+
+Blow away this record type's key cache
+
+=cut
+
+
+sub _FlushKeyCache {
+ my $self = shift;
+ my $cache = $self->_Handle->DSN . "-KEYS--" . ($self->{'_Class'} ||= ref($self));
+ $self->_SetupCache($cache);
+}
+
sub _RecordCache {
my $self = shift;
my $cache = $self->_Handle->DSN . "--" . ($self->{'_Class'} ||= ref($self));
@@ -171,6 +184,9 @@
sub _expire (\$) {
my $self = shift;
$self->_RecordCache->set( $self->_primary_RecordCache_key , undef, time-1);
+ # We should be doing something more surgical to clean out the key cache. but we do need to expire it
+ $self->_FlushKeyCache;
+
}
# Function: _fetch
More information about the Rt-commit
mailing list