Author: spadkins
Date: Mon Apr 9 11:19:05 2007
New Revision: 9384
Modified:
p5ee/trunk/App-Repository/lib/App/SessionObject/RepositoryObjectSet.pm
Log:
make get_index() subject to better, more rigorous index naming strategy
Modified: p5ee/trunk/App-Repository/lib/App/SessionObject/RepositoryObjectSet.pm
==============================================================================
--- p5ee/trunk/App-Repository/lib/App/SessionObject/RepositoryObjectSet.pm
(original)
+++ p5ee/trunk/App-Repository/lib/App/SessionObject/RepositoryObjectSet.pm
Mon Apr 9 11:19:05 2007
@@ -292,12 +292,13 @@
sub get_key_columns {
&App::sub_entry if ($App::trace);
my ($self) = @_;
- my $repname = $self->{repository};
- my $context = $self->{context};
- my $rep = $context->repository($repname);
- my $table = $self->{table} || die "table not defined";
- my $column_defs = $rep->{table}{$table}{column};
- my $columns = $self->{columns};
+ my $repname = $self->{repository};
+ my $context = $self->{context};
+ my $rep = $context->repository($repname);
+ my $table = $self->{table} || die "table not defined";
+ my $table_def = $rep->get_table_def($table);
+ my $column_defs = $table_def->{column};
+ my $columns = $self->{columns};
if (!$columns) {
$columns = $rep->_get_default_columns($table);
$self->{columns} = $columns;
@@ -320,7 +321,8 @@
my $repname = $self->{repository};
my $rep = $context->repository($repname);
my $table = $self->{table} || die "table not defined";
- my $column_defs = $rep->{table}{$table}{column};
+ my $table_def = $rep->get_table_def($table);
+ my $column_defs = $table_def->{column};
&App::sub_exit($column_defs) if ($App::trace);
return($column_defs);
}
@@ -333,9 +335,10 @@
&App::sub_entry if ($App::trace);
my $self = shift;
my $options = (ref($_[0]) eq "HASH") ? shift : {};
- my $key_name = ref($_[0]) ? "ie1" : shift;
- $key_name ||= "ie1";
+ my $key_name = ref($_[0]) ? "" : shift;
my $key_columns = shift;
+ $key_name = join(",", @$key_columns) if (!$key_name && ref($key_columns)
eq "ARRAY");
+ $key_name ||= "ie1";
$self->_clear_cache_if_auto_params_changed($options) if (defined
$self->{auto_params});
$self->_clear_cache_if_objects_expired($options) if ((defined
$options->{max_age} || defined $self->{max_age}) && $self->{objects});
@@ -371,9 +374,10 @@
&App::sub_entry if ($App::trace);
my $self = shift;
my $options = (ref($_[0]) eq "HASH") ? shift : {};
- my $key_name = ref($_[0]) ? "ak1" : shift;
- $key_name ||= "ak1";
+ my $key_name = ref($_[0]) ? "" : shift;
my $key_columns = shift;
+ $key_name = join(",", @$key_columns) if (!$key_name && ref($key_columns)
eq "ARRAY");
+ $key_name ||= "ak1";
$self->_clear_cache_if_auto_params_changed($options) if (defined
$self->{auto_params});
$self->_clear_cache_if_objects_expired($options) if ((defined
$options->{max_age} || defined $self->{max_age}) && $self->{objects});
@@ -483,8 +487,10 @@
my $self = shift;
my $options = (ref($_[0]) eq "HASH") ? shift : {};
my $key = shift;
- my $key_name = ref($_[0]) ? "ak1" : shift;
+ my $key_name = ref($_[0]) ? "" : shift;
my $key_columns = shift;
+ $key_name = join(",", @$key_columns) if (!$key_name && ref($key_columns)
eq "ARRAY");
+ $key_name ||= "ak1";
$self->_clear_cache_if_auto_params_changed($options) if (defined
$self->{auto_params});
$self->_clear_cache_if_objects_expired($options) if ((defined
$options->{max_age} || defined $self->{max_age}) && $self->{objects});
@@ -505,15 +511,16 @@
my $options = (ref($_[0]) eq "HASH") ? shift : {};
my $key = shift;
die "key not scalar" if (ref($key));
- my $key_name = ref($_[0]) ? "ie1" : shift;
+ my $key_name = ref($_[0]) ? "" : shift;
my $key_columns = shift;
+ $key_name = join(",", @$key_columns) if (!$key_name && ref($key_columns)
eq "ARRAY");
+ $key_name ||= "ie1";
$self->_clear_cache_if_auto_params_changed($options) if (defined
$self->{auto_params});
$self->_clear_cache_if_objects_expired($options) if ((defined
$options->{max_age} || defined $self->{max_age}) && $self->{objects});
my ($objects);
if ($key) {
- $key_name ||= "ie1";
my $index = $self->get_index($key_name, $key_columns);
$objects = $index->{$key} || [];
}