Commit 882d0395 authored by mkanat%kerio.com's avatar mkanat%kerio.com

Bug 308717: Column name "PUBLIC" in SERIES table is an Oracle reserved word

Patch By Lance Larsh <lance.larsh@oracle.com> r=mkanat, a=justdave
parent fa82fac5
...@@ -873,7 +873,7 @@ use constant ABSTRACT_SCHEMA => { ...@@ -873,7 +873,7 @@ use constant ABSTRACT_SCHEMA => {
frequency => {TYPE => 'INT2', NOTNULL => 1}, frequency => {TYPE => 'INT2', NOTNULL => 1},
last_viewed => {TYPE => 'DATETIME'}, last_viewed => {TYPE => 'DATETIME'},
query => {TYPE => 'MEDIUMTEXT', NOTNULL => 1}, query => {TYPE => 'MEDIUMTEXT', NOTNULL => 1},
public => {TYPE => 'BOOLEAN', NOTNULL => 1, is_public => {TYPE => 'BOOLEAN', NOTNULL => 1,
DEFAULT => 'FALSE'}, DEFAULT => 'FALSE'},
], ],
INDEXES => [ INDEXES => [
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
# Rights Reserved. # Rights Reserved.
# #
# Contributor(s): Gervase Markham <gerv@gerv.net> # Contributor(s): Gervase Markham <gerv@gerv.net>
# Lance Larsh <lance.larsh@oracle.com>
use strict; use strict;
use lib "."; use lib ".";
...@@ -90,7 +91,7 @@ sub initFromDatabase { ...@@ -90,7 +91,7 @@ sub initFromDatabase {
my $dbh = Bugzilla->dbh; my $dbh = Bugzilla->dbh;
my @series = $dbh->selectrow_array("SELECT series.series_id, cc1.name, " . my @series = $dbh->selectrow_array("SELECT series.series_id, cc1.name, " .
"cc2.name, series.name, series.creator, series.frequency, " . "cc2.name, series.name, series.creator, series.frequency, " .
"series.query, series.public " . "series.query, series.is_public " .
"FROM series " . "FROM series " .
"LEFT JOIN series_categories AS cc1 " . "LEFT JOIN series_categories AS cc1 " .
" ON series.category = cc1.id " . " ON series.category = cc1.id " .
...@@ -103,11 +104,11 @@ sub initFromDatabase { ...@@ -103,11 +104,11 @@ sub initFromDatabase {
" AND ugm.user_id = " . Bugzilla->user->id . " AND ugm.user_id = " . Bugzilla->user->id .
" AND isbless = 0 " . " AND isbless = 0 " .
"WHERE series.series_id = $series_id AND " . "WHERE series.series_id = $series_id AND " .
"(public = 1 OR creator = " . Bugzilla->user->id . " OR " . "(is_public = 1 OR creator = " . Bugzilla->user->id . " OR " .
"(ugm.group_id IS NOT NULL)) " . "(ugm.group_id IS NOT NULL)) " .
$dbh->sql_group_by('series.series_id', 'cc1.name, cc2.name, ' . $dbh->sql_group_by('series.series_id', 'cc1.name, cc2.name, ' .
'series.name, series.creator, series.frequency, ' . 'series.name, series.creator, series.frequency, ' .
'series.query, series.public')); 'series.query, series.is_public'));
if (@series) { if (@series) {
$self->initFromParameters(@series); $self->initFromParameters(@series);
...@@ -189,7 +190,7 @@ sub writeToDatabase { ...@@ -189,7 +190,7 @@ sub writeToDatabase {
my $dbh = Bugzilla->dbh; my $dbh = Bugzilla->dbh;
$dbh->do("UPDATE series SET " . $dbh->do("UPDATE series SET " .
"category = ?, subcategory = ?," . "category = ?, subcategory = ?," .
"name = ?, frequency = ?, public = ? " . "name = ?, frequency = ?, is_public = ? " .
"WHERE series_id = ?", undef, "WHERE series_id = ?", undef,
$category_id, $subcategory_id, $self->{'name'}, $category_id, $subcategory_id, $self->{'name'},
$self->{'frequency'}, $self->{'public'}, $self->{'frequency'}, $self->{'public'},
...@@ -198,7 +199,7 @@ sub writeToDatabase { ...@@ -198,7 +199,7 @@ sub writeToDatabase {
else { else {
# Insert the new series into the series table # Insert the new series into the series table
$dbh->do("INSERT INTO series (creator, category, subcategory, " . $dbh->do("INSERT INTO series (creator, category, subcategory, " .
"name, frequency, query, public) VALUES " . "name, frequency, query, is_public) VALUES " .
"($self->{'creator'}, " . "($self->{'creator'}, " .
"$category_id, $subcategory_id, " . "$category_id, $subcategory_id, " .
$dbh->quote($self->{'name'}) . ", $self->{'frequency'}," . $dbh->quote($self->{'name'}) . ", $self->{'frequency'}," .
......
...@@ -4031,6 +4031,14 @@ if ($dbh->bz_column_info("attachments", "thedata")) { ...@@ -4031,6 +4031,14 @@ if ($dbh->bz_column_info("attachments", "thedata")) {
$dbh->bz_drop_column("attachments", "thedata"); $dbh->bz_drop_column("attachments", "thedata");
} }
# 2005-09-15 lance.larsh@oracle.com Bug 308717
if ($dbh->bz_column_info("series", "public")) {
# PUBLIC is a reserved word in Oracle, so renaming the column
# PUBLIC in table SERIES avoids having to quote the column name
# in every query against that table
$dbh->bz_rename_column('series', 'public', 'is_public');
}
# If you had to change the --TABLE-- definition in any way, then add your # If you had to change the --TABLE-- definition in any way, then add your
# differential change code *** A B O V E *** this comment. # differential change code *** A B O V E *** this comment.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment