summaryrefslogtreecommitdiffstats
path: root/Bugzilla/DB/Schema/Pg.pm
diff options
context:
space:
mode:
authormkanat%kerio.com <>2005-03-09 10:46:29 +0100
committermkanat%kerio.com <>2005-03-09 10:46:29 +0100
commitb8793ea28e3e03b2452bac119f2adcd3758e7260 (patch)
tree59f43fa33e757e912ce34f3d41b201b4eb13c8f4 /Bugzilla/DB/Schema/Pg.pm
parent0b7d9e7f772ee107d0cb1816d6c5cb679ae6e01a (diff)
downloadbugzilla-b8793ea28e3e03b2452bac119f2adcd3758e7260.tar.gz
bugzilla-b8793ea28e3e03b2452bac119f2adcd3758e7260.tar.xz
Bug 146679: Reusable, structured, database-independent schema
Patch By Ed Sabol <edwardjsabol@iname.com> r=mkanat, a=myk, a=justdave
Diffstat (limited to 'Bugzilla/DB/Schema/Pg.pm')
-rw-r--r--Bugzilla/DB/Schema/Pg.pm73
1 files changed, 73 insertions, 0 deletions
diff --git a/Bugzilla/DB/Schema/Pg.pm b/Bugzilla/DB/Schema/Pg.pm
new file mode 100644
index 000000000..51caf02a3
--- /dev/null
+++ b/Bugzilla/DB/Schema/Pg.pm
@@ -0,0 +1,73 @@
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Andrew Dunstan <andrew@dunslane.net>,
+# Edward J. Sabol <edwardjsabol@iname.com>
+
+package Bugzilla::DB::Schema::Pg;
+
+###############################################################################
+#
+# DB::Schema implementation for PostgreSQL
+#
+###############################################################################
+
+use strict;
+
+use base qw(Bugzilla::DB::Schema);
+
+#------------------------------------------------------------------------------
+sub _initialize {
+
+ my $self = shift;
+
+ $self = $self->SUPER::_initialize;
+
+ $self->{db_specific} = {
+
+ BOOLEAN => 'smallint',
+ FALSE => '0',
+ TRUE => '1',
+
+ INT1 => 'integer',
+ INT2 => 'integer',
+ INT3 => 'integer',
+ INT4 => 'integer',
+
+ SMALLSERIAL => 'serial unique',
+ MEDIUMSERIAL => 'serial unique',
+ INTSERIAL => 'serial unique',
+
+ TINYTEXT => 'varchar(255)',
+ MEDIUMTEXT => 'text',
+ TEXT => 'text',
+
+ LONGBLOB => 'bytea',
+
+ DATETIME => 'timestamp',
+
+ };
+
+ $self->_adjust_schema;
+
+ return $self;
+
+} #eosub--_initialize
+#------------------------------------------------------------------------------
+1;