use sorted keys on SQL update statement

make sure, sorted keys are used for query and binding variable.
This commit is contained in:
Milan
2020-02-29 23:01:49 +01:00
parent 9b392ae0f4
commit 9f8170507e
13 changed files with 48 additions and 34 deletions

View File

@@ -410,12 +410,13 @@ sub get_events($$$$) {
$event_ids->{$event_id} = 1;
}
my @keys = keys %{$event_ids};
#get events from comment's event ids
return [] if ( scalar keys %{$event_ids} ) == 0;
return [] if ( scalar @keys ) == 0;
#my $quoted_event_ids=join "," ,(map {$dbh->quote($_)}(keys %{$event_ids}));
my @bind_values = keys %{$event_ids};
my $event_id_values = join ",", ( map { '?' } ( keys %{$event_ids} ) );
#my $quoted_event_ids=join "," ,(map {$dbh->quote($_)}(@keys));
my @bind_values = @keys;
my $event_id_values = join ",", ( map { '?' } ( @keys ) );
my $query = qq{
select id, start, program, series_name, title, excerpt
@@ -433,7 +434,7 @@ sub get_events($$$$) {
}
#add unassigned events
# for my $event_id (keys %{$event_ids}){
# for my $event_id (@keys){
# if ($events_by_id->{$event_id}eq''){
# my $event={
# title => "not assigned",

View File

@@ -138,15 +138,16 @@ sub insert ($$$){
my $tablename = shift;
my $entry = shift;
my $keys = join( ",", map { $_ } ( keys %$entry ) );
my $values = join( ",", map { '?' } ( keys %$entry ) );
my @bind_values = map { $entry->{$_} } ( keys %$entry );
my @keys = sort keys %$entry;
my $keys = join( ",", @keys );
my $values = join( ",", map { '?' } @keys );
my @bind_values = map { $entry->{$_} } @keys;
my $sql = "insert into $tablename \n ($keys) \n values ($values);\n";
if ( $debug_write == 1 ) {
print STDERR $sql . "\n";
print STDERR Dumper( \@bind_values ) . "\n" if (@bind_values);
print STDERR Dumper( \@bind_values ) . "\n" if scalar(@bind_values);
}
put( $dbh, $sql, \@bind_values );

View File

@@ -71,8 +71,9 @@ sub update($$) {
return unless defined $entry->{user};
my $dbh = db::connect($config);
my $values = join( ",", map { $_ . '=?' } ( keys %$entry ) );
my @bind_values = map { $entry->{$_} } ( keys %$entry );
my @keys = sort keys %$entry;
my $values = join( ",", map { $_ . '=?' } @keys);
my @bind_values = map { $entry->{$_} } @keys;
push @bind_values, $entry->{token};
my $query = qq{

View File

@@ -134,8 +134,9 @@ sub update($$) {
$entry->{image} = images::normalizeName( $entry->{image} ) if defined $entry->{image};
my $values = join( ",", map { $_ . '=?' } ( keys %$entry ) );
my @bind_values = map { $entry->{$_} } ( keys %$entry );
my @keys = sort keys %$entry;
my $values = join( ",", map { $_ . '=?' } @keys );
my @bind_values = map { $entry->{$_} } @keys;
push @bind_values, $entry->{project_id};
my $query = qq{

View File

@@ -193,8 +193,9 @@ sub update ($$) {
$entry->{id} = $series->{series_id};
$entry->{modified_at} = time::time_to_datetime( time() );
my $values = join( ",", map { $_ . '=?' } ( keys %$entry ) );
my @bind_values = map { $entry->{$_} } ( keys %$entry );
my @keys = keys %$entry;
my $values = join( ",", map { $_ . '=?' } @keys );
my @bind_values = map { $entry->{$_} } @keys;
push @bind_values, $entry->{id};
my $query = qq{

View File

@@ -137,8 +137,9 @@ sub update($$) {
delete $entry->{schedule_id};
my $dbh = db::connect($config);
my $values = join( ",", map { $_ . '=?' } ( keys %$entry ) );
my @bind_values = map { $entry->{$_} } ( keys %$entry );
my @keys = sort keys %$entry;
my $values = join( ",", map { $_ . '=?' } @keys );
my @bind_values = map { $entry->{$_} } @keys;
push @bind_values, $entry->{project_id};
push @bind_values, $entry->{studio_id};

View File

@@ -101,8 +101,9 @@ sub update($$) {
delete $entry->{schedule_id};
my $dbh = db::connect($config);
my $values = join( ",", map { $_ . '=?' } ( keys %$entry ) );
my @bind_values = map { $entry->{$_} } ( keys %$entry );
my @keys = sort keys %$entry;
my $values = join( ",", map { $_ . '=?' } @keys );
my @bind_values = map { $entry->{$_} } @keys;
push @bind_values, $entry->{id};
my $query = qq{

View File

@@ -117,8 +117,9 @@ sub update ($$) {
}
$entry->{image} = images::normalizeName( $entry->{image} ) if defined $entry->{image};
my $values = join( ",", map { $_ . '=?' } ( keys %$entry ) );
my @bind_values = map { $entry->{$_} } ( keys %$entry );
my @keys = sort keys %$entry;
my $values = join( ",", map { $_ . '=?' } @keys );
my @bind_values = map { $entry->{$_} } @keys;
push @bind_values, $entry->{id};
my $query = qq{

View File

@@ -211,8 +211,9 @@ sub update_user($$) {
$entry->{modified_at} = time::time_to_datetime( time() );
my $values = join( ",", map { $_ . '=?' } ( keys %$entry ) );
my @bind_values = map { $entry->{$_} } ( keys %$entry );
my @keys = sort keys %$entry;
my $values = join( ",", map { $_ . '=?' } @keys );
my @bind_values = map { $entry->{$_} } @keys;
push @bind_values, $entry->{id};
my $query = qq{
@@ -294,7 +295,7 @@ sub get_roles($$) {
my $dbh = db::connect($config);
my $columns = db::get_columns_hash( $dbh, 'calcms_roles' );
for my $column ( keys %$columns ) {
for my $column ( sort keys %$columns ) {
if ( defined $condition->{$column} ) {
push @conditions, $column . '=?';
push @bind_values, $condition->{$column};
@@ -340,8 +341,9 @@ sub update_role($$) {
my $dbh = db::connect($config);
my $columns = db::get_columns_hash( $dbh, 'calcms_roles' );
my $values = join( ",", map { $_ . '=?' } ( keys %$columns ) );
my @bind_values = map { $entry->{$_} } ( keys %$columns );
my @keys = sort keys %$columns;
my $values = join( ",", map { $_ . '=?' } @keys );
my @bind_values = map { $entry->{$_} } @keys;
push @bind_values, $entry->{id};
my $query = qq{

View File

@@ -190,8 +190,9 @@ sub update ($$) {
return undef unless defined $entry->{session_id};
my $dbh = db::connect($config);
my $values = join( ",", map { $_ . '=?' } ( keys %$entry ) );
my @bind_values = map { $entry->{$_} } ( keys %$entry );
my @keys = sort keys %$entry;
my $values = join( ",", map { $_ . '=?' } @keys );
my @bind_values = map { $entry->{$_} } @keys;
push @bind_values, $entry->{session_id};

View File

@@ -189,8 +189,9 @@ sub update($$) {
return unless ( defined $entry->{user} );
my $dbh = db::connect($config);
my $values = join( ",", map { $_ . '=?' } ( keys %$entry ) );
my @bind_values = map { $entry->{$_} } ( keys %$entry );
my @keys = sort keys %$entry;
my $values = join( ",", map { $_ . '=?' } @keys );
my @bind_values = map { $entry->{$_} } @keys;
push @bind_values, $entry->{user};
my $query = qq{

View File

@@ -179,8 +179,9 @@ sub update ($$) {
}
$entry->{modified_at} = time::time_to_datetime( time() );
my $values = join( ",", map { $_ . '=?' } ( keys %$entry ) );
my @bind_values = map { $entry->{$_} } ( keys %$entry );
my @keys = sort keys %$entry;
my $values = join( ",", map { $_ . '=?' } @keys );
my @bind_values = map { $entry->{$_} } @keys;
push @bind_values, $entry->{user};
push @bind_values, $entry->{project_id};
push @bind_values, $entry->{studio_id};

View File

@@ -112,8 +112,9 @@ sub update ($$) {
return undef unless defined $entry->{start};
my $dbh = db::connect($config);
my $values = join( ",", map { $_ . '=?' } ( keys %$entry ) );
my @bind_values = map { $entry->{$_} } ( keys %$entry );
my @keys = sort keys %$entry;
my $values = join( ",", map { $_ . '=?' } @keys);
my @bind_values = map { $entry->{$_} } @keys;
push @bind_values, $entry->{project_id};
push @bind_values, $entry->{studio_id};