[Rt-commit] rt branch, 3.9-trunk, updated. rt-3.9.4-23-g1b80376
Jesse Vincent
jesse at bestpractical.com
Wed Sep 29 17:15:12 EDT 2010
The branch, 3.9-trunk has been updated
via 1b803767a6b33966e3fb655b1a08d8e4d94574ef (commit)
via 51bb4ff70812d0abd552e08d243637825d7cc7b2 (commit)
via ef7abd4bf5cefea8164f8c7269f62e1cd5827095 (commit)
via 20f5cfdffee1f277bddc20b309a42afbcccce412 (commit)
via d87536cc7c1c8e777ceb19ad56e12617c3e42531 (commit)
via c0490c370830c4e37ac22a199b5251494344df26 (commit)
via a55d8be7e0f9a5ab1aab096e8cfd3bd65262ab43 (commit)
via 59439d6f97c7ac2f14959054abe265fc58041ff1 (commit)
via cdd6ea6c1d4e7137949f572a4042e9f61e08a620 (commit)
from e38987ef64bd86242146f6f90adff98eeaa39d12 (commit)
Summary of changes:
README | 4 +-
etc/acl.Informix | 6 -
etc/acl.Sybase | 10 -
etc/drop.Informix | 19 --
etc/schema.Informix | 362 ---------------------------
etc/schema.Oracle | 19 ++-
etc/schema.Pg | 13 +
etc/schema.SQLite | 19 ++-
etc/schema.Sybase | 402 ------------------------------
etc/{schema.mysql-4.1 => schema.mysql} | 24 ++-
etc/schema.mysql-4.0 | 420 --------------------------------
etc/upgrade/3.9.5/schema.Oracle | 20 ++
etc/upgrade/3.9.5/schema.Pg | 20 ++
etc/upgrade/3.9.5/schema.SQLite | 19 ++
etc/upgrade/3.9.5/schema.mysql | 20 ++
lib/RT/ACE.pm | 46 ++--
lib/RT/Attributes_Overlay.pm | 4 +-
lib/RT/CustomFieldValue.pm | 23 ++
lib/RT/CustomFieldValue_Overlay.pm | 50 +----
lib/RT/Group.pm | 44 ++++
lib/RT/GroupMember.pm | 44 ++++
lib/RT/Principal_Overlay.pm | 50 ++---
share/html/Admin/Elements/SelectRights | 11 +-
23 files changed, 305 insertions(+), 1344 deletions(-)
delete mode 100755 etc/acl.Informix
delete mode 100644 etc/acl.Sybase
delete mode 100755 etc/drop.Informix
delete mode 100755 etc/schema.Informix
delete mode 100644 etc/schema.Sybase
rename etc/{schema.mysql-4.1 => schema.mysql} (95%)
delete mode 100755 etc/schema.mysql-4.0
create mode 100644 etc/upgrade/3.9.5/schema.Oracle
create mode 100644 etc/upgrade/3.9.5/schema.Pg
create mode 100644 etc/upgrade/3.9.5/schema.SQLite
create mode 100644 etc/upgrade/3.9.5/schema.mysql
- Log -----------------------------------------------------------------
commit cdd6ea6c1d4e7137949f572a4042e9f61e08a620
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Wed Sep 29 15:42:01 2010 -0400
Replaced a bunch of UNIVERSAL::can calls with eval {} which reads
cleaner and benchmarks much faster.
diff --git a/lib/RT/Attributes_Overlay.pm b/lib/RT/Attributes_Overlay.pm
index 70224ac..dea0071 100644
--- a/lib/RT/Attributes_Overlay.pm
+++ b/lib/RT/Attributes_Overlay.pm
@@ -200,8 +200,8 @@ Limit the Attributes to rights for the object $object. It needs to be an RT::Rec
sub LimitToObject {
my $self = shift;
my $obj = shift;
- unless (defined($obj) && ref($obj) && UNIVERSAL::can($obj, 'id') && $obj->id) {
- return undef;
+ unless (eval { $obj->id} ){
+ return undef;
}
$self->Limit(FIELD => 'ObjectType', OPERATOR=> '=', VALUE => ref($obj), ENTRYAGGREGATOR => 'OR');
$self->Limit(FIELD => 'ObjectId', OPERATOR=> '=', VALUE => $obj->id, ENTRYAGGREGATOR => 'OR', QUOTEVALUE => 0);
diff --git a/lib/RT/Principal_Overlay.pm b/lib/RT/Principal_Overlay.pm
index 15ce22f..afdf91a 100755
--- a/lib/RT/Principal_Overlay.pm
+++ b/lib/RT/Principal_Overlay.pm
@@ -279,10 +279,7 @@ sub HasRight {
return (undef);
}
- if ( defined( $args{'Object'} )
- && UNIVERSAL::can( $args{'Object'}, 'id' )
- && $args{'Object'}->id ) {
-
+ if ( eval { $args{'Object'}->id} ) {
push @{ $args{'EquivObjects'} }, $args{'Object'};
}
else {
@@ -391,7 +388,7 @@ sub _HasGroupRight
my $type = ref( $obj ) || $obj;
my $clause = "ACL.ObjectType = '$type'";
- if ( ref($obj) && UNIVERSAL::can($obj, 'id') && $obj->id ) {
+ if ( defined eval { $obj->id }) { # it might be 0
$clause .= " AND ACL.ObjectId = ". $obj->id;
}
@@ -449,7 +446,7 @@ sub _HasRoleRight
foreach my $obj ( @{ $args{'EquivObjects'} } ) {
my $type = ref($obj)? ref($obj): $obj;
my $id;
- $id = $obj->id if ref($obj) && UNIVERSAL::can($obj, 'id') && $obj->id;
+ $id = eval {$obj->id};
my $clause = "Groups.Domain = '$type-Role'";
# XXX: Groups.Instance is VARCHAR in DB, we should quote value
@@ -513,7 +510,7 @@ sub RolesWithRight {
foreach my $obj ( @{ $args{'EquivObjects'} } ) {
my $type = ref($obj)? ref($obj): $obj;
my $id;
- $id = $obj->id if ref($obj) && UNIVERSAL::can($obj, 'id') && $obj->id;
+ $id = eval {$obj->id};
my $object_clause = "ObjectType = '$type'";
$object_clause .= " AND ObjectId = $id" if $id;
diff --git a/share/html/Admin/Elements/SelectRights b/share/html/Admin/Elements/SelectRights
index c5fe015..592dd61 100755
--- a/share/html/Admin/Elements/SelectRights
+++ b/share/html/Admin/Elements/SelectRights
@@ -103,13 +103,12 @@ while ( my $ace = $ACLObj->Next ) {
$ACLObj->LimitToPrincipal( Id => $PrincipalId);
$ACLObj->OrderBy(FIELD=>'RightName');
- if (ref($Object) && UNIVERSAL::can($Object, 'AvailableRights')) {
+ eval {
%Rights = %{$Object->AvailableRights};
- }
-
- else {
- %Rights = ( loc('System Error') => loc("No rights found") );
- }
+ };
+ if ($@) {
+ %Rights = ( loc('System Error') => loc("No rights found") );
+ }
$ACLDesc = "$PrincipalId-".ref($Object)."-".$Object->Id;
</%INIT>
commit 59439d6f97c7ac2f14959054abe265fc58041ff1
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Wed Sep 29 15:43:05 2010 -0400
perltidy
diff --git a/lib/RT/Principal_Overlay.pm b/lib/RT/Principal_Overlay.pm
index afdf91a..59c8d14 100755
--- a/lib/RT/Principal_Overlay.pm
+++ b/lib/RT/Principal_Overlay.pm
@@ -244,15 +244,14 @@ Returns undef if no ACE was found.
sub HasRight {
my $self = shift;
- my %args = (
- Right => undef,
- Object => undef,
- EquivObjects => undef,
- @_,
- );
+ my %args = ( Right => undef,
+ Object => undef,
+ EquivObjects => undef,
+ @_,
+ );
# RT's SystemUser always has all rights
- if ($self->id == RT->SystemUser->id) {
+ if ( $self->id == RT->SystemUser->id ) {
return 1;
}
@@ -272,27 +271,23 @@ sub HasRight {
if $args{'EquivObjects'};
if ( $self->__Value('Disabled') ) {
- $RT::Logger->debug( "Disabled User #"
- . $self->id
- . " failed access check for "
- . $args{'Right'} );
+ $RT::Logger->debug("Disabled User #" . $self->id." failed access check for " . $args{'Right'} );
return (undef);
}
if ( eval { $args{'Object'}->id} ) {
push @{ $args{'EquivObjects'} }, $args{'Object'};
- }
- else {
+ } else {
$RT::Logger->crit("HasRight called with no valid object");
return (undef);
}
-
- unshift @{ $args{'EquivObjects'} }, $args{'Object'}->ACLEquivalenceObjects;
+ unshift @{ $args{'EquivObjects'} },
+ $args{'Object'}->ACLEquivalenceObjects;
unshift @{ $args{'EquivObjects'} }, $RT::System
unless $self->can('_IsOverrideGlobalACL')
- && $self->_IsOverrideGlobalACL( $args{'Object'} );
+ && $self->_IsOverrideGlobalACL( $args{'Object'} );
# If we've cached a win or loss for this lookup say so
@@ -316,10 +311,9 @@ sub HasRight {
return $cached_answer > 0 if defined $cached_answer;
}
+ my ( $hitcount, $via_obj ) = $self->_HasRight(%args);
- my ($hitcount, $via_obj) = $self->_HasRight( %args );
-
- $_ACL_CACHE->set( $full_hashkey => $hitcount? 1: -1 );
+ $_ACL_CACHE->set( $full_hashkey => $hitcount ? 1 : -1 );
$_ACL_CACHE->set( "$self_id;:;$args{'Right'};:;$via_obj" => 1 )
if $via_obj && $hitcount;
commit a55d8be7e0f9a5ab1aab096e8cfd3bd65262ab43
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Wed Sep 29 15:43:18 2010 -0400
remove a temp variable
diff --git a/lib/RT/Principal_Overlay.pm b/lib/RT/Principal_Overlay.pm
index 59c8d14..295f491 100755
--- a/lib/RT/Principal_Overlay.pm
+++ b/lib/RT/Principal_Overlay.pm
@@ -260,12 +260,11 @@ sub HasRight {
return (undef);
}
- my $canonic_name = RT::ACE->CanonicalizeRightName( $args{'Right'} );
- unless ( $canonic_name ) {
- $RT::Logger->error("Invalid right. Couldn't canonicalize right '$args{'Right'}'");
+ $args{'Right'} = RT::ACE->CanonicalizeRightName( $args{'Right'} );
+ unless ($args{'Right'}) {
+ $RT::Logger->error( "Invalid right. Couldn't canonicalize right '$args{'Right'}'");
return undef;
}
- $args{'Right'} = $canonic_name;
$args{'EquivObjects'} = [ @{ $args{'EquivObjects'} } ]
if $args{'EquivObjects'};
commit c0490c370830c4e37ac22a199b5251494344df26
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Wed Sep 29 16:23:31 2010 -0400
Category is now a first-class column on customfieldvalues rather than an
attribute
diff --git a/etc/schema.Oracle b/etc/schema.Oracle
index c67a890..6bca62e 100755
--- a/etc/schema.Oracle
+++ b/etc/schema.Oracle
@@ -361,6 +361,7 @@ CREATE TABLE CustomFieldValues (
Name VARCHAR2(200),
Description VARCHAR2(255),
SortOrder NUMBER(11,0) DEFAULT 0 NOT NULL,
+ Category VARCHAR2(255),
Creator NUMBER(11,0) DEFAULT 0 NOT NULL,
Created DATE,
LastUpdatedBy NUMBER(11,0) DEFAULT 0 NOT NULL,
diff --git a/etc/schema.Pg b/etc/schema.Pg
index 6b897cc..7e183cd 100755
--- a/etc/schema.Pg
+++ b/etc/schema.Pg
@@ -579,6 +579,7 @@ CREATE TABLE CustomFieldValues (
Name varchar(200) NULL ,
Description varchar(255) NULL ,
SortOrder integer NOT NULL DEFAULT 0 ,
+ Category varchar(255) NULL ,
Creator integer NOT NULL DEFAULT 0 ,
Created TIMESTAMP NULL ,
diff --git a/etc/schema.SQLite b/etc/schema.SQLite
index 2da3bda..48674cc 100755
--- a/etc/schema.SQLite
+++ b/etc/schema.SQLite
@@ -399,6 +399,7 @@ CREATE TABLE CustomFieldValues (
Name varchar(200) NULL ,
Description varchar(255) NULL ,
SortOrder integer NOT NULL DEFAULT 0 ,
+ Category varchar(255) NULL ,
Creator integer NOT NULL DEFAULT 0 ,
Created DATETIME NULL ,
diff --git a/etc/schema.mysql-4.0 b/etc/schema.mysql-4.0
index c736af4..718f287 100755
--- a/etc/schema.mysql-4.0
+++ b/etc/schema.mysql-4.0
@@ -319,6 +319,7 @@ CREATE TABLE ObjectCustomFieldValues (
LargeContent LONGTEXT NULL, # New -- to hold 255+ strings
ContentType varchar(80) NULL, # New -- only text/* gets searched
ContentEncoding varchar(80) NULL , # New -- for binary Content
+ Category VARCHAR(255) NULL,
Creator integer NOT NULL DEFAULT 0 ,
Created DATETIME NULL ,
diff --git a/etc/schema.mysql-4.1 b/etc/schema.mysql-4.1
index 4f09e08..ccf6c88 100755
--- a/etc/schema.mysql-4.1
+++ b/etc/schema.mysql-4.1
@@ -377,6 +377,7 @@ CREATE TABLE CustomFieldValues (
Name varchar(200) NULL ,
Description varchar(255) NULL ,
SortOrder integer NOT NULL DEFAULT 0 ,
+ Category VARCHAR(255) NULL,
Creator integer NOT NULL DEFAULT 0 ,
Created DATETIME NULL ,
diff --git a/etc/upgrade/3.9.5/schema.Oracle b/etc/upgrade/3.9.5/schema.Oracle
new file mode 100644
index 0000000..2c6ebde
--- /dev/null
+++ b/etc/upgrade/3.9.5/schema.Oracle
@@ -0,0 +1,7 @@
+alter Table CustomFieldValues ADD Category varchar2(255);
+
+UPDATE CustomFieldValues SET Category = (SELECT Content FROM Attributes WHERE
+Name = 'Category' AND ObjectType = 'RT::CustomFieldValue'
+AND CustomFieldValues.id = Attributes.ObjectId);
+
+DELETE FROM Attributes WHERE Name = 'Category' AND ObjectType = 'RT::CustomFieldValue';
diff --git a/etc/upgrade/3.9.5/schema.Pg b/etc/upgrade/3.9.5/schema.Pg
new file mode 100644
index 0000000..b33aee9
--- /dev/null
+++ b/etc/upgrade/3.9.5/schema.Pg
@@ -0,0 +1,7 @@
+alter Table CustomFieldValues ADD Column Category varchar(255);
+
+UPDATE CustomFieldValues SET Category = (SELECT Content FROM Attributes WHERE
+Name = 'Category' AND ObjectType = 'RT::CustomFieldValue'
+AND CustomFieldValues.id = Attributes.ObjectId);
+
+DELETE FROM Attributes WHERE Name = 'Category' AND ObjectType = 'RT::CustomFieldValue';
diff --git a/etc/upgrade/3.9.5/schema.SQLite b/etc/upgrade/3.9.5/schema.SQLite
new file mode 100644
index 0000000..65f2bf5
--- /dev/null
+++ b/etc/upgrade/3.9.5/schema.SQLite
@@ -0,0 +1,6 @@
+ALTER TABLE CustomFieldValues ADD Column (Category varchar(255));
+UPDATE CustomFieldValues SET Category = (SELECT Content FROM Attributes WHERE
+Name = 'Category' AND ObjectType = 'RT::CustomFieldValue'
+AND CustomFieldValues.id = Attributes.ObjectId);
+
+DELETE FROM Attributes WHERE Name = 'Category' AND ObjectType = 'RT::CustomFieldValue';
diff --git a/etc/upgrade/3.9.5/schema.mysql b/etc/upgrade/3.9.5/schema.mysql
new file mode 100644
index 0000000..324cd74
--- /dev/null
+++ b/etc/upgrade/3.9.5/schema.mysql
@@ -0,0 +1,7 @@
+alter Table CustomFieldValues ADD Column (Category varchar(255));
+
+UPDATE CustomFieldValues SET Category = (SELECT Content FROM Attributes WHERE
+Name = 'Category' AND ObjectType = 'RT::CustomFieldValue'
+AND CustomFieldValues.id = Attributes.ObjectId);
+
+DELETE FROM Attributes WHERE Name = 'Category' AND ObjectType = 'RT::CustomFieldValue';
diff --git a/lib/RT/CustomFieldValue.pm b/lib/RT/CustomFieldValue.pm
index 6a09c26..503e2d2 100755
--- a/lib/RT/CustomFieldValue.pm
+++ b/lib/RT/CustomFieldValue.pm
@@ -89,6 +89,7 @@ Create takes a hash of values and creates a row in the database:
int(11) 'CustomField'.
varchar(200) 'Name'.
+ varchar(255) 'Category'.
varchar(255) 'Description'.
int(11) 'SortOrder'.
@@ -103,12 +104,14 @@ sub Create {
CustomField => '',
Name => '',
Description => '',
+ Category => '',
SortOrder => '0',
@_);
$self->SUPER::Create(
CustomField => $args{'CustomField'},
Name => $args{'Name'},
+ Category => $args{'Category'},
Description => $args{'Description'},
SortOrder => $args{'SortOrder'},
);
@@ -176,6 +179,26 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
+
+=head2 Category
+
+Returns the current value of Category.
+(In the database, Category is stored as varchar(255).)
+
+
+
+=head2 SetCategory VALUE
+
+
+Set Category to VALUE.
+Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
+(In the database, Category will be stored as a varchar(255).)
+
+
+=cut
+
+
+
=head2 Description
Returns the current value of Description.
@@ -258,6 +281,8 @@ sub _CoreAccessible {
{read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
Name =>
{read => 1, write => 1, sql_type => 12, length => 200, is_blob => 0, is_numeric => 0, type => 'varchar(200)', default => ''},
+ Category =>
+ {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
Description =>
{read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
SortOrder =>
diff --git a/lib/RT/CustomFieldValue_Overlay.pm b/lib/RT/CustomFieldValue_Overlay.pm
index c4e51cb..ca327e8 100644
--- a/lib/RT/CustomFieldValue_Overlay.pm
+++ b/lib/RT/CustomFieldValue_Overlay.pm
@@ -85,59 +85,11 @@ sub Create {
my ($id, $msg) = $self->SUPER::Create(
CustomField => $cf_id,
- map { $_ => $args{$_} } qw(Name Description SortOrder)
+ map { $_ => $args{$_} } qw(Name Description SortOrder Category)
);
- return ($id, $msg) unless $id;
-
- if ( defined $args{'Category'} && length $args{'Category'} ) {
- # $self would be loaded at this stage
- my ($status, $msg) = $self->SetCategory( $args{'Category'} );
- unless ( $status ) {
- $RT::Logger->error("Couldn't set category: $msg");
- }
- }
-
return ($id, $msg);
}
-=head2 Category
-
-Returns the Category assigned to this Value
-Returns udef if there is no Category
-
-=cut
-
-sub Category {
- my $self = shift;
- my $attr = $self->FirstAttribute('Category') or return undef;
- return $attr->Content;
-}
-
-=head2 SetCategory Category
-
-Takes a string Category and stores it as an attribute of this CustomFieldValue
-
-=cut
-
-sub SetCategory {
- my $self = shift;
- my $category = shift;
- if ( defined $category && length $category ) {
- return $self->SetAttribute(
- Name => 'Category',
- Content => $category,
- );
- }
- else {
- my ($status, $msg) = $self->DeleteAttribute( 'Category' );
- unless ( $status ) {
- $RT::Logger->warning("Couldn't delete atribute: $msg");
- }
- # return true even if there was no category
- return (1, $self->loc('Category unset'));
- }
-}
-
sub ValidateName {
return defined $_[1] && length $_[1];
};
commit d87536cc7c1c8e777ceb19ad56e12617c3e42531
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Wed Sep 29 16:29:33 2010 -0400
Update minimum database requirements to something a bit more modern and
realistic
diff --git a/README b/README
index f443caa..fe96fc0 100644
--- a/README
+++ b/README
@@ -25,8 +25,8 @@ o Perl 5.8.3 or later (http://www.perl.org).
o A supported SQL database
- Currently supported: Mysql 4.0.13 or later with InnoDB support.
- Postgres 7.2 or later.
+ Currently supported: Mysql 4.1 or later with InnoDB support.
+ Postgres 8.1 or later.
Oracle 9iR2 or later.
SQLite 3.0. (Not recommended for production)
commit 20f5cfdffee1f277bddc20b309a42afbcccce412
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Wed Sep 29 16:30:26 2010 -0400
Sybase and Informix ports were never completed. Remove derelict files.
diff --git a/etc/acl.Informix b/etc/acl.Informix
deleted file mode 100755
index eff232f..0000000
--- a/etc/acl.Informix
+++ /dev/null
@@ -1,6 +0,0 @@
-
-sub acl {
- return ("GRANT RESOURCE TO ". RT->Config->Get('DatabaseUser') .";");
-}
-
-1;
diff --git a/etc/acl.Sybase b/etc/acl.Sybase
deleted file mode 100644
index 7583c02..0000000
--- a/etc/acl.Sybase
+++ /dev/null
@@ -1,10 +0,0 @@
-
-sub acl {
- my $db_name = RT->Config->Get('DatabaseName');
- my $db_user = RT->Config->Get('DatabaseUser');
- my $db_pass = RT->Config->Get('DatabasePassword');
-
- return ("SP_ADDLOGIN $db_user, $db_pass, $db_name");
-}
-
-1;
diff --git a/etc/drop.Informix b/etc/drop.Informix
deleted file mode 100755
index ce7cc01..0000000
--- a/etc/drop.Informix
+++ /dev/null
@@ -1,19 +0,0 @@
-DROP TABLE ACL;
-DROP TABLE ATTACHMENTS;
-DROP TABLE CACHEDGROUPMEMBERS;
-DROP TABLE CUSTOMFIELDS;
-DROP TABLE CUSTOMFIELDVALUES;
-DROP TABLE GROUPMEMBERS;
-DROP TABLE GROUPS;
-DROP TABLE LINKS;
-DROP TABLE PRINCIPALS;
-DROP TABLE QUEUES;
-DROP TABLE SCRIPACTIONS;
-DROP TABLE SCRIPCONDITIONS;
-DROP TABLE SCRIPS;
-DROP TABLE SESSIONS;
-DROP TABLE TEMPLATES;
-DROP TABLE TICKETCUSTOMFIELDVALUES;
-DROP TABLE TICKETS;
-DROP TABLE TRANSACTIONS;
-DROP TABLE USERS;
diff --git a/etc/schema.Informix b/etc/schema.Informix
deleted file mode 100755
index 810c4bc..0000000
--- a/etc/schema.Informix
+++ /dev/null
@@ -1,362 +0,0 @@
--- This schema was adopted from the oracle schema by
--- Andre Koppel.
--- Version 0.2 Date 2003.10.21
--- The work is still in progress
-
-CREATE TABLE Attachments (
- id SERIAL,
- TransactionId INTEGER NOT NULL,
- Parent INTEGER DEFAULT 0 NOT NULL,
- MessageId VARCHAR(160),
- Subject VARCHAR(255),
- Filename VARCHAR(255),
- ContentType VARCHAR(80),
- ContentEncoding VARCHAR(80),
- Content BYTE,
- Headers BYTE,
- Creator INTEGER DEFAULT 0 NOT NULL,
- Created DATETIME YEAR TO SECOND,
- PRIMARY KEY (id)
-);
-CREATE INDEX Attachments1 ON Attachments (Parent);
-CREATE INDEX Attachments2 ON Attachments (TransactionId);
-CREATE INDEX Attachments3 ON Attachments (Parent, TransactionId);
-
-
-CREATE TABLE Queues (
- id SERIAL,
- Name VARCHAR(200) DEFAULT '' NOT NULL,
- Description VARCHAR(255) DEFAULT NULL,
- CorrespondAddress VARCHAR(120) DEFAULT NULL,
- CommentAddress VARCHAR(120) DEFAULT NULL,
- InitialPriority INTEGER DEFAULT 0 NOT NULL,
- FinalPriority INTEGER DEFAULT 0 NOT NULL,
- DefaultDueIn INTEGER DEFAULT 0 NOT NULL,
- Creator INTEGER DEFAULT 0 NOT NULL,
- Created DATETIME YEAR TO SECOND,
- LastUpdatedBy INTEGER DEFAULT 0 NOT NULL,
- LastUpdated DATETIME YEAR TO SECOND,
- Disabled INTEGER DEFAULT 0 NOT NULL,
- PRIMARY KEY (id)
-);
-CREATE UNIQUE INDEX Queues1 ON Queues (Name);
-CREATE INDEX Queues2 ON Queues (Disabled);
-
-
-CREATE TABLE Links (
- id SERIAL,
- Base VARCHAR(240) DEFAULT NULL,
- Target VARCHAR(240) DEFAULT NULL,
- Type VARCHAR(20) DEFAULT '' NOT NULL,
- LocalTarget INTEGER DEFAULT 0 NOT NULL,
- LocalBase INTEGER DEFAULT 0 NOT NULL,
- LastUpdatedBy INTEGER DEFAULT 0 NOT NULL,
- LastUpdated DATETIME YEAR TO SECOND,
- Creator INTEGER DEFAULT 0 NOT NULL,
- Created DATETIME YEAR TO SECOND,
- PRIMARY KEY (id)
-);
--- CREATE UNIQUE INDEX Links1 ON Links (Base, Target, Type);
-CREATE INDEX Links2 ON Links (Base, Type);
-CREATE INDEX Links3 ON Links (Target, Type);
-CREATE INDEX Links4 ON Links(Type,LocalBase);
-
-
-CREATE TABLE Principals (
- id SERIAL,
- PrincipalType VARCHAR(16) DEFAULT '' NOT NULL,
- ObjectId INTEGER DEFAULT 0,
- Disabled INTEGER DEFAULT 0 NOT NULL,
- PRIMARY KEY (id)
-);
-CREATE INDEX Principals2 ON Principals (ObjectId);
-
-
-CREATE TABLE Groups (
- id SERIAL,
- Name VARCHAR(200) DEFAULT NULL,
- Description VARCHAR(255) DEFAULT NULL,
- Domain VARCHAR(64) DEFAULT '',
- Type VARCHAR(64) DEFAULT '',
- Instance INTEGER DEFAULT 0 NOT NULL,
--- Instance VARCHAR(64) DEFAULT '' NOT NULL,
- PRIMARY KEY (id)
-);
-CREATE INDEX Groups1 ON Groups (Domain, Instance, Type, id);
-CREATE INDEX Groups2 ON Groups (Type, Instance, Domain);
-
-
-CREATE TABLE ScripConditions (
- id SERIAL,
- Name VARCHAR(200),
- Description VARCHAR(255),
- ExecModule VARCHAR(60),
- Argument VARCHAR(255),
- ApplicableTransTypes VARCHAR(60),
- Creator INTEGER DEFAULT 0 NOT NULL,
- Created DATETIME YEAR TO SECOND,
- LastUpdatedBy INTEGER DEFAULT 0 NOT NULL,
- LastUpdated DATETIME YEAR TO SECOND,
- PRIMARY KEY (id)
-);
-
-
-CREATE TABLE Transactions (
- id SERIAL,
- ObjectType VARCHAR(255),
- ObjectId INTEGER DEFAULT 0 NOT NULL,
- TimeTaken INTEGER DEFAULT 0 NOT NULL,
- Type VARCHAR(20),
- Field VARCHAR(40),
- OldValue VARCHAR(255),
- NewValue VARCHAR(255),
- ReferenceType VARCHAR(255),
- OldReference INTEGER DEFAULT 0,
- NewReference INTEGER DEFAULT 0,
- Data VARCHAR(255),
- Creator INTEGER DEFAULT 0 NOT NULL,
- Created DATETIME YEAR TO SECOND,
- PRIMARY KEY (id)
-);
-CREATE INDEX Transactions1 ON Transactions (ObjectType, ObjectId);
-
-
-CREATE TABLE Scrips (
- id SERIAL,
- Description VARCHAR(255) DEFAULT '',
- ScripCondition INTEGER DEFAULT 0 NOT NULL,
- ScripAction INTEGER DEFAULT 0 NOT NULL,
- ConditionRules BYTE,
- ActionRules BYTE,
- CustomIsApplicableCode BYTE,
- CustomPrepareCode BYTE,
- CustomCommitCode BYTE,
- Stage VARCHAR(32),
- Queue INTEGER DEFAULT 0 NOT NULL,
- Template INTEGER DEFAULT 0 NOT NULL,
- Creator INTEGER DEFAULT 0 NOT NULL,
- Created DATETIME YEAR TO SECOND,
- LastUpdatedBy INTEGER DEFAULT 0 NOT NULL,
- LastUpdated DATETIME YEAR TO SECOND,
- PRIMARY KEY (id)
-);
-
-
-CREATE TABLE ACL (
- id SERIAL,
- PrincipalType VARCHAR(25) NOT NULL,
- PrincipalId INTEGER NOT NULL,
- RightName VARCHAR(25) NOT NULL,
- ObjectType VARCHAR(25) NOT NULL,
- ObjectId INTEGER DEFAULT 0 NOT NULL,
- PRIMARY KEY (id)
-);
-CREATE INDEX ACL1 ON ACL(RightName, ObjectType, ObjectId, PrincipalType, PrincipalId);
-
-
-CREATE TABLE GroupMembers (
- id SERIAL,
- GroupId INTEGER DEFAULT 0 NOT NULL,
- MemberId INTEGER DEFAULT 0 NOT NULL,
- PRIMARY KEY (id)
-);
-CREATE UNIQUE INDEX GroupMembers1 ON GroupMembers (GroupId, MemberId);
-
-
-CREATE TABLE CachedGroupMembers (
- id SERIAL,
- GroupId INTEGER DEFAULT 0,
- MemberId INTEGER DEFAULT 0,
- Via INTEGER DEFAULT 0,
- ImmediateParentId INTEGER DEFAULT 0,
- Disabled INTEGER DEFAULT 0 NOT NULL,
- PRIMARY KEY (id)
-);
-CREATE INDEX DisGrouMem ON CachedGroupMembers (GroupId, MemberId, Disabled);
-CREATE INDEX GrouMem ON CachedGroupMembers (GroupId, MemberId);
-
-
-CREATE TABLE Users (
- id SERIAL,
- Name VARCHAR(200) NOT NULL,
- Password VARCHAR(40),
- Comments BYTE,
- Signature BYTE,
- EmailAddress VARCHAR(120),
- FreeFormContactInfo BYTE,
- Organization VARCHAR(200),
- RealName VARCHAR(120),
- NickName VARCHAR(16),
- Lang VARCHAR(16),
- EmailEncoding VARCHAR(16),
- WebEncoding VARCHAR(16),
- ExternalContactInfoId VARCHAR(100),
- ContactInfoSystem VARCHAR(30),
- ExternalAuthId VARCHAR(100),
- AuthSystem VARCHAR(30),
- Gecos VARCHAR(16),
- HomePhone VARCHAR(30),
- WorkPhone VARCHAR(30),
- MobilePhone VARCHAR(30),
- PagerPhone VARCHAR(30),
- Address1 VARCHAR(200),
- Address2 VARCHAR(200),
- City VARCHAR(100),
- State VARCHAR(100),
- Zip VARCHAR(16),
- Country VARCHAR(50),
- Timezone VARCHAR(50),
- PGPKey BYTE,
- Creator INTEGER DEFAULT 0 NOT NULL,
- Created DATETIME YEAR TO SECOND,
- LastUpdatedBy INTEGER DEFAULT 0 NOT NULL,
- LastUpdated DATETIME YEAR TO SECOND,
- PRIMARY KEY (id)
-);
--- CREATE UNIQUE INDEX Users1 ON Users (Name);
-CREATE INDEX Users2 ON Users (Name);
-CREATE INDEX Users3 ON Users (id, EmailAddress);
-CREATE INDEX Users4 ON Users (EmailAddress);
-
-
-CREATE TABLE Tickets (
- id SERIAL,
- EffectiveId INTEGER DEFAULT 0 NOT NULL,
- Queue INTEGER DEFAULT 0 NOT NULL,
- Type VARCHAR(16),
- IssueStatement INTEGER DEFAULT 0 NOT NULL,
- Resolution INTEGER DEFAULT 0 NOT NULL,
- Owner INTEGER DEFAULT 0 NOT NULL,
- Subject VARCHAR(200) DEFAULT '[no subject]',
- InitialPriority INTEGER DEFAULT 0 NOT NULL,
- FinalPriority INTEGER DEFAULT 0 NOT NULL,
- Priority INTEGER DEFAULT 0 NOT NULL,
- TimeEstimated INTEGER DEFAULT 0 NOT NULL,
- TimeWorked INTEGER DEFAULT 0 NOT NULL,
- Status VARCHAR(10),
- TimeLeft INTEGER DEFAULT 0 NOT NULL,
- Told DATETIME YEAR TO SECOND,
- Starts DATETIME YEAR TO SECOND,
- Started DATETIME YEAR TO SECOND,
- Due DATETIME YEAR TO SECOND,
- Resolved DATETIME YEAR TO SECOND,
- LastUpdatedBy INTEGER DEFAULT 0 NOT NULL,
- LastUpdated DATETIME YEAR TO SECOND,
- Creator INTEGER DEFAULT 0 NOT NULL,
- Created DATETIME YEAR TO SECOND,
- Disabled INTEGER DEFAULT 0 NOT NULL,
- PRIMARY KEY (id)
-);
-CREATE INDEX Tickets1 ON Tickets (Queue, Status);
-CREATE INDEX Tickets2 ON Tickets (Owner);
-CREATE INDEX Tickets3 ON Tickets (EffectiveId);
-CREATE INDEX Tickets4 ON Tickets (id, Status);
-CREATE INDEX Tickets5 ON Tickets (id, EffectiveId);
-CREATE INDEX Tickets6 ON Tickets (EffectiveId, Type);
-
-
-CREATE TABLE ScripActions (
- id SERIAL,
- Name VARCHAR(200),
- Description VARCHAR(255),
- ExecModule VARCHAR(60),
- Argument VARCHAR(255),
- Creator INTEGER DEFAULT 0 NOT NULL,
- Created DATETIME YEAR TO SECOND,
- LastUpdatedBy INTEGER DEFAULT 0 NOT NULL,
- LastUpdated DATETIME YEAR TO SECOND,
- PRIMARY KEY (id)
-);
-
-
-CREATE TABLE Templates (
- id SERIAL,
- Queue INTEGER DEFAULT 0 NOT NULL,
- Name VARCHAR(200) NOT NULL,
- Description VARCHAR(255),
- Type VARCHAR(16),
- Language VARCHAR(16),
- TranslationOf INTEGER DEFAULT 0 NOT NULL,
- Content BYTE,
- LastUpdated DATETIME YEAR TO SECOND,
- LastUpdatedBy INTEGER DEFAULT 0 NOT NULL,
- Creator INTEGER DEFAULT 0 NOT NULL,
- Created DATETIME YEAR TO SECOND,
- PRIMARY KEY (id)
-);
-
-
-CREATE TABLE TicketCustomFieldValues (
- id SERIAL,
- Ticket INTEGER NOT NULL,
- CustomField INTEGER NOT NULL,
- Content VARCHAR(255),
- Creator INTEGER DEFAULT 0 NOT NULL,
- Created DATETIME YEAR TO SECOND,
- LastUpdatedBy INTEGER DEFAULT 0 NOT NULL,
- LastUpdated DATETIME YEAR TO SECOND,
- PRIMARY KEY (id)
-);
-
-CREATE INDEX TicketCustomFieldValues1 ON TicketCustomFieldValues (CustomField,Ticket,Content);
-CREATE INDEX TicketCustomFieldValues2 ON TicketCustomFieldValues (CustomField,Ticket);
-
-CREATE TABLE CustomFields (
- id SERIAL,
- Name VARCHAR(200),
- Type VARCHAR(200),
- MaxValues INTEGER DEFAULT 0 NOT NULL,
- Pattern VARCHAR(255),
- LookupType VARCHAR(255),
- Description VARCHAR(255),
- SortOrder INTEGER DEFAULT 0 NOT NULL,
- Creator INTEGER DEFAULT 0 NOT NULL,
- Created DATETIME YEAR TO SECOND,
- LastUpdatedBy INTEGER DEFAULT 0 NOT NULL,
- LastUpdated DATETIME YEAR TO SECOND,
- Disabled SMALLINT DEFAULT 0 NOT NULL,
- PRIMARY KEY (id)
-);
-
-
-CREATE TABLE CustomFieldValues (
- id SERIAL,
- CustomField INTEGER NOT NULL,
- Name VARCHAR(200),
- Description VARCHAR(255),
- SortOrder INTEGER DEFAULT 0 NOT NULL,
- Creator INTEGER DEFAULT 0 NOT NULL,
- Created DATETIME YEAR TO SECOND,
- LastUpdatedBy INTEGER DEFAULT 0 NOT NULL,
- LastUpdated DATETIME YEAR TO SECOND,
- PRIMARY KEY (id)
-);
-
-CREATE INDEX CustomFieldValues1 ON CustomFieldValues (CustomField);
-
-CREATE TABLE Attributes (
- id SERIAL,
- Name VARCHAR(255) DEFAULT '' NOT NULL,
- Description VARCHAR(255) DEFAULT NULL,
- Content BYTE,
- ContentType VARCHAR(16),
- ObjectType VARCHAR(25) NOT NULL,
- ObjectId INTEGER DEFAULT 0 NOT NULL,
- Creator INTEGER DEFAULT 0 NOT NULL,
- Created DATETIME YEAR TO SECOND,
- LastUpdatedBy INTEGER DEFAULT 0 NOT NULL,
- LastUpdated DATETIME YEAR TO SECOND,
- PRIMARY KEY (id)
-);
-
-CREATE INDEX Attributes1 on Attributes(Name);
-CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId);
-
-
-CREATE TABLE sessions (
- id VARCHAR(32) NOT NULL,
- a_session BYTE,
- LastUpdated DATETIME YEAR TO SECOND,
- PRIMARY KEY (id)
-);
-
diff --git a/etc/schema.Sybase b/etc/schema.Sybase
deleted file mode 100644
index bee1f56..0000000
--- a/etc/schema.Sybase
+++ /dev/null
@@ -1,402 +0,0 @@
-
-CREATE TABLE rt3.Attachments (
- id numeric(38,0) identity,
- TransactionId integer NOT NULL ,
- Parent integer NOT NULL ,
- MessageId varchar(160) NULL ,
- Subject varchar(255) NULL ,
- Filename varchar(255) NULL ,
- ContentType varchar(80) NULL ,
- ContentEncoding varchar(80) NULL ,
- Content TEXT NULL ,
- Headers TEXT NULL ,
- Creator integer NOT NULL ,
- Created DATETIME NULL ,
- PRIMARY KEY (id)
-) ;
-
-CREATE INDEX Attachments1 ON Attachments (Parent) ;
-CREATE INDEX Attachments2 ON Attachments (TransactionId) ;
-CREATE INDEX Attachments3 ON Attachments (Parent, TransactionId) ;
-
-CREATE TABLE rt3.Queues (
- id numeric(38,0) identity,
- Name varchar(200) NOT NULL ,
- Description varchar(255) NULL ,
- CorrespondAddress varchar(120) NULL ,
- CommentAddress varchar(120) NULL ,
- InitialPriority integer NOT NULL ,
- FinalPriority integer NOT NULL ,
- DefaultDueIn integer NOT NULL ,
- Creator integer NOT NULL ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL ,
- LastUpdated DATETIME NULL ,
- Disabled numeric(1) NOT NULL ,
- PRIMARY KEY (id)
-) ;
-CREATE UNIQUE INDEX Queues1 ON Queues (Name) ;
-CREATE INDEX Queues2 ON Queues (Disabled) ;
-
-
-
-CREATE TABLE rt3.Links (
- id numeric(38,0) identity,
- Base varchar(240) NULL ,
- Target varchar(240) NULL ,
- Type varchar(20) NOT NULL ,
- LocalTarget integer NOT NULL ,
- LocalBase integer NOT NULL ,
- LastUpdatedBy integer NOT NULL ,
- LastUpdated DATETIME NULL ,
- Creator integer NOT NULL ,
- Created DATETIME NULL ,
- PRIMARY KEY (id)
-) ;
-
-CREATE UNIQUE INDEX Links1 ON Links (Base, Target, Type) ;
-CREATE INDEX Links2 ON Links (Base, Type) ;
-CREATE INDEX Links3 ON Links (Target, Type) ;
-CREATE INDEX Links4 ON Links(Type,LocalBase);
-
-
-
-CREATE TABLE rt3.Principals (
- id numeric(38,0) identity,
- PrincipalType VARCHAR(16) not null,
- ObjectId integer, Disabled numeric(1) NOT NULL ,
- PRIMARY KEY (id)
-) ;
-
-CREATE INDEX Principals2 ON Principals (ObjectId);
-
-
-
-CREATE TABLE rt3.Groups (
- id numeric(38,0) identity,
- Name varchar(200) NULL ,
- Description varchar(255) NULL ,
- Domain varchar(64),
- Type varchar(64),
- Instance integer,
- PRIMARY KEY (id)
-) ;
-
-CREATE INDEX Groups1 ON Groups (Domain,Instance,Type,id);
-CREATE INDEX Groups2 On Groups (Type, Instance, Domain);
-
-
-
-CREATE TABLE rt3.ScripConditions (
- id numeric(38,0) identity,
- Name varchar(200) NULL ,
- Description varchar(255) NULL ,
- ExecModule varchar(60) NULL ,
- Argument varchar(255) NULL ,
- ApplicableTransTypes varchar(60) NULL ,
-
- Creator integer NOT NULL ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL ,
- LastUpdated DATETIME NULL ,
- PRIMARY KEY (id)
-) ;
-
-
-CREATE TABLE rt3.Transactions (
- id numeric(38,0) identity,
- EffectiveTicket integer NOT NULL ,
- Ticket integer NOT NULL ,
- TimeTaken integer NOT NULL ,
- Type varchar(20) NULL ,
- Field varchar(40) NULL ,
- OldValue varchar(255) NULL ,
- NewValue varchar(255) NULL ,
- Data varchar(255) NULL ,
-
- Creator integer NOT NULL ,
- Created DATETIME NULL ,
- PRIMARY KEY (id)
-) ;
-CREATE INDEX Transactions1 ON Transactions (Ticket);
-CREATE INDEX Transactions2 ON Transactions (EffectiveTicket);
-
-
-
-CREATE TABLE rt3.Scrips (
- id numeric(38,0) identity,
- Description varchar(255),
- ScripCondition integer NOT NULL ,
- ScripAction integer NOT NULL ,
- ConditionRules text NULL ,
- ActionRules text NULL ,
- CustomIsApplicableCode text NULL ,
- CustomPrepareCode text NULL ,
- CustomCommitCode text NULL ,
- Stage varchar(32) NULL ,
- Queue integer NOT NULL ,
- Template integer NOT NULL ,
- Creator integer NOT NULL ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL ,
- LastUpdated DATETIME NULL ,
- PRIMARY KEY (id)
-) ;
-
-
-CREATE TABLE rt3.ACL (
- id numeric(38,0) identity,
- PrincipalType varchar(25) NOT NULL, #"User" "Group", "Owner", "Cc" "AdminCc", "Requestor", "Requestor"
-
- PrincipalId integer NOT NULL , #Foreign key to principals
- RightName varchar(25) NOT NULL ,
- ObjectType varchar(25) NOT NULL ,
- ObjectId integer NOT NULL ,
- PRIMARY KEY (id)
-) ;
-
-CREATE INDEX ACL1 on ACL(RightName, ObjectType, ObjectId,PrincipalType,PrincipalId);
-
-
-
-CREATE TABLE rt3.GroupMembers (
- id numeric(38,0) identity,
- GroupId integer NOT NULL ,
- MemberId integer NOT NULL , #Foreign key to Principals
- PRIMARY KEY (id)
-) ;
-CREATE UNIQUE INDEX GroupMembers1 on GroupMembers (GroupId, MemberId);
-
-
-
-
-CREATE TABLE rt3.CachedGroupMembers (
- id numeric(38,0) identity,
- GroupId int, # foreign key to Principals
- MemberId int, # foreign key to Principals
- Via int, #foreign key to CachedGroupMembers. (may point to $self->id)
- ImmediateParentId int, #foreign key to prinicpals.
- # this points to the group that the member is
- # a member of, for ease of deletes.
- Disabled numeric(1) NOT NULL , # if this cached group member is a member of this group by way of a disabled
- # group or this group is disabled, this will be set to 1
- # this allows us to not find members of disabled subgroups when listing off
- # group members recursively.
- # Also, this allows us to have the ACL system elide members of disabled groups
- PRIMARY KEY (id)
-) ;
-
-CREATE INDEX DisGrouMem on CachedGroupMembers (GroupId,MemberId,Disabled);
-CREATE INDEX GrouMem on CachedGroupMembers (GroupId,MemberId);
-
-
-
-CREATE TABLE rt3.Users (
- id numeric(38,0) identity,
- Name varchar(200) NOT NULL ,
- Password varchar(40) NULL ,
- Comments text NULL ,
- Signature text NULL ,
- EmailAddress varchar(120) NULL ,
- FreeformContactInfo text NULL ,
- Organization varchar(200) NULL ,
- RealName varchar(120) NULL ,
- NickName varchar(16) NULL ,
- Lang varchar(16) NULL ,
- EmailEncoding varchar(16) NULL ,
- WebEncoding varchar(16) NULL ,
- ExternalContactInfoId varchar(100) NULL ,
- ContactInfoSystem varchar(30) NULL ,
- ExternalAuthId varchar(100) NULL ,
- AuthSystem varchar(30) NULL ,
- Gecos varchar(16) NULL ,
- HomePhone varchar(30) NULL ,
- WorkPhone varchar(30) NULL ,
- MobilePhone varchar(30) NULL ,
- PagerPhone varchar(30) NULL ,
- Address1 varchar(200) NULL ,
- Address2 varchar(200) NULL ,
- City varchar(100) NULL ,
- State varchar(100) NULL ,
- Zip varchar(16) NULL ,
- Country varchar(50) NULL ,
- Timezone varchar(50) NULL ,
- PGPKey text NULL,
-
- Creator integer NOT NULL ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL ,
- LastUpdated DATETIME NULL ,
- PRIMARY KEY (id)
-) ;
-
-
-CREATE UNIQUE INDEX Users1 ON Users (Name) ;
-CREATE INDEX Users2 ON Users (Name);
-CREATE INDEX Users3 ON Users (id, EmailAddress);
-CREATE INDEX Users4 ON Users (EmailAddress);
-
-
-
-
-CREATE TABLE rt3.Tickets (
- id numeric(38,0) identity,
- EffectiveId integer NOT NULL ,
- Queue integer NOT NULL ,
- Type varchar(16) NULL ,
- IssueStatement integer NOT NULL ,
- Resolution integer NOT NULL ,
- Owner integer NOT NULL ,
- Subject varchar(200) NULL,
- InitialPriority integer NOT NULL ,
- FinalPriority integer NOT NULL ,
- Priority integer NOT NULL ,
- TimeEstimated integer NOT NULL ,
- TimeWorked integer NOT NULL ,
- Status varchar(10) NULL ,
- TimeLeft integer NOT NULL ,
- Told DATETIME NULL ,
- Starts DATETIME NULL ,
- Started DATETIME NULL ,
- Due DATETIME NULL ,
- Resolved DATETIME NULL ,
-
-
- LastUpdatedBy integer NOT NULL ,
- LastUpdated DATETIME NULL ,
- Creator integer NOT NULL ,
- Created DATETIME NULL ,
- Disabled numeric(1) NOT NULL ,
- PRIMARY KEY (id)
-) ;
-
-CREATE INDEX Tickets1 ON Tickets (Queue, Status) ;
-CREATE INDEX Tickets2 ON Tickets (Owner) ;
-CREATE INDEX Tickets3 ON Tickets (EffectiveId) ;
-CREATE INDEX Tickets4 ON Tickets (id, Status) ;
-CREATE INDEX Tickets5 ON Tickets (id, EffectiveId) ;
-CREATE INDEX Tickets6 ON Tickets (EffectiveId, Type) ;
-
-
-
-CREATE TABLE rt3.ScripActions (
- id numeric(38,0) identity,
- Name varchar(200) NULL ,
- Description varchar(255) NULL ,
- ExecModule varchar(60) NULL ,
- Argument varchar(255) NULL ,
- Creator integer NOT NULL ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL ,
- LastUpdated DATETIME NULL ,
- PRIMARY KEY (id)
-) ;
-
-
-
-CREATE TABLE rt3.Templates (
- id numeric(38,0) identity,
- Queue integer NOT NULL ,
- Name varchar(200) NOT NULL ,
- Description varchar(255) NULL ,
- Type varchar(16) NULL ,
- Language varchar(16) NULL ,
- TranslationOf integer NOT NULL ,
- Content text NULL ,
- LastUpdated DATETIME NULL ,
- LastUpdatedBy integer NOT NULL ,
- Creator integer NOT NULL ,
- Created DATETIME NULL ,
- PRIMARY KEY (id)
-) ;
-
-
-
-CREATE TABLE rt3.TicketCustomFieldValues (
- id numeric(38,0) identity,
- Ticket int NOT NULL ,
- CustomField int NOT NULL ,
- Content varchar(255) NULL ,
-
- Creator integer NOT NULL ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL ,
- LastUpdated DATETIME NULL ,
- PRIMARY KEY (id)
-) ;
-
-CREATE INDEX TicketCustomFieldValues1 ON TicketCustomFieldValues (CustomField,Ticket,Content);
-CREATE INDEX TicketCustomFieldValues2 ON TicketCustomFieldValues (CustomField,Ticket);
-
-
-
-CREATE TABLE rt3.CustomFields (
- id numeric(38,0) identity,
- Name varchar(200) NULL ,
- Type varchar(200) NULL ,
- Queue integer NOT NULL ,
- Description varchar(255) NULL ,
- SortOrder integer NOT NULL ,
-
- Creator integer NOT NULL ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL ,
- LastUpdated DATETIME NULL ,
- Disabled numeric(1) NOT NULL ,
- PRIMARY KEY (id)
-) ;
-
-CREATE INDEX CustomFields1 on CustomFields (Disabled, Queue);
-
-
-
-
-CREATE TABLE rt3.CustomFieldValues (
- id numeric(38,0) identity,
- CustomField int NOT NULL ,
- Name varchar(200) NULL ,
- Description varchar(255) NULL ,
- SortOrder integer NOT NULL ,
-
- Creator integer NOT NULL ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL ,
- LastUpdated DATETIME NULL ,
- PRIMARY KEY (id)
-) ;
-
-CREATE INDEX CustomFieldValues1 ON CustomFieldValues (CustomField);
-
-
-
-
-CREATE TABLE rt3.Attributes (
- id numeric(38,0) identity,
- Name varchar(255) NULL ,
- Description varchar(255) NULL ,
- Content text,
- ContentType varchar(16),
- ObjectType varchar(64),
- ObjectId integer, # foreign key to anything
- Creator integer NOT NULL ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL ,
- LastUpdated DATETIME NULL ,
- PRIMARY KEY (id)
-) ;
-
-CREATE INDEX Attributes1 on Attributes(Name);
-CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId);
-
-
-
-# sessions is used by Apache::Session to keep sessions in the database.
-# We should have a reaper script somewhere.
-
-CREATE TABLE rt3.sessions (
- id char(32) NOT NULL,
- a_session TEXT,
- LastUpdated DATETIME,
- PRIMARY KEY (id)
-);
-
commit ef7abd4bf5cefea8164f8c7269f62e1cd5827095
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Wed Sep 29 16:31:42 2010 -0400
We no longer support mysql 4.0. so no longer ship a schema for it
diff --git a/etc/schema.mysql-4.1 b/etc/schema.mysql
similarity index 98%
rename from etc/schema.mysql-4.1
rename to etc/schema.mysql
index ccf6c88..5071fb5 100755
--- a/etc/schema.mysql-4.1
+++ b/etc/schema.mysql
@@ -83,7 +83,7 @@ CREATE TABLE Groups (
) TYPE=InnoDB CHARACTER SET utf8;
CREATE INDEX Groups1 ON Groups (Domain,Instance,Type,id);
-CREATE INDEX Groups2 On Groups (Type, Instance);
+CREATE INDEX Groups2 On Groups (Type, Instance);
@@ -178,7 +178,7 @@ create table CachedGroupMembers (
GroupId int, # foreign key to Principals
MemberId int, # foreign key to Principals
Via int, #foreign key to CachedGroupMembers. (may point to $self->id)
- ImmediateParentId int, #foreign key to prinicpals.
+ ImmediateParentId int, #foreign key to prinicpals.
# this points to the group that the member is
# a member of, for ease of deletes.
Disabled int2 NOT NULL DEFAULT 0 , # if this cached group member is a member of this group by way of a disabled
@@ -330,8 +330,8 @@ CREATE TABLE ObjectCustomFieldValues (
PRIMARY KEY (id)
) TYPE=InnoDB CHARACTER SET utf8;
-CREATE INDEX ObjectCustomFieldValues1 ON ObjectCustomFieldValues (Content);
-CREATE INDEX ObjectCustomFieldValues2 ON ObjectCustomFieldValues (CustomField,ObjectType,ObjectId);
+CREATE INDEX ObjectCustomFieldValues1 ON ObjectCustomFieldValues (Content);
+CREATE INDEX ObjectCustomFieldValues2 ON ObjectCustomFieldValues (CustomField,ObjectType,ObjectId);
@@ -387,7 +387,7 @@ CREATE TABLE CustomFieldValues (
) TYPE=InnoDB CHARACTER SET utf8;
CREATE INDEX CustomFieldValues1 ON CustomFieldValues (CustomField);
-
+
@@ -420,4 +420,3 @@ CREATE TABLE sessions (
LastUpdated TIMESTAMP,
PRIMARY KEY (id)
);
-
diff --git a/etc/schema.mysql-4.0 b/etc/schema.mysql-4.0
deleted file mode 100755
index 718f287..0000000
--- a/etc/schema.mysql-4.0
+++ /dev/null
@@ -1,421 +0,0 @@
-
-CREATE TABLE Attachments (
- id INTEGER NOT NULL AUTO_INCREMENT,
- TransactionId integer NOT NULL ,
- Parent integer NOT NULL DEFAULT 0 ,
- MessageId varchar(160) NULL ,
- Subject varchar(255) NULL ,
- Filename varchar(255) NULL ,
- ContentType varchar(80) NULL ,
- ContentEncoding varchar(80) NULL ,
- Content LONGTEXT NULL ,
- Headers LONGTEXT NULL ,
- Creator integer NOT NULL DEFAULT 0 ,
- Created DATETIME NULL ,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-CREATE INDEX Attachments2 ON Attachments (TransactionId) ;
-CREATE INDEX Attachments3 ON Attachments (Parent, TransactionId) ;
-
-CREATE TABLE Queues (
- id INTEGER NOT NULL AUTO_INCREMENT,
- Name varchar(200) NOT NULL ,
- Description varchar(255) NULL ,
- CorrespondAddress varchar(120) NULL ,
- CommentAddress varchar(120) NULL ,
- InitialPriority integer NOT NULL DEFAULT 0 ,
- FinalPriority integer NOT NULL DEFAULT 0 ,
- DefaultDueIn integer NOT NULL DEFAULT 0 ,
- Creator integer NOT NULL DEFAULT 0 ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL DEFAULT 0 ,
- LastUpdated DATETIME NULL ,
- Disabled int2 NOT NULL DEFAULT 0 ,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-CREATE UNIQUE INDEX Queues1 ON Queues (Name) ;
-CREATE INDEX Queues2 ON Queues (Disabled) ;
-
-
-
-CREATE TABLE Links (
- id INTEGER NOT NULL AUTO_INCREMENT,
- Base varchar(240) NULL ,
- Target varchar(240) NULL ,
- Type varchar(20) NOT NULL ,
- LocalTarget integer NOT NULL DEFAULT 0 ,
- LocalBase integer NOT NULL DEFAULT 0 ,
- LastUpdatedBy integer NOT NULL DEFAULT 0 ,
- LastUpdated DATETIME NULL ,
- Creator integer NOT NULL DEFAULT 0 ,
- Created DATETIME NULL ,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-CREATE INDEX Links2 ON Links (Base, Type) ;
-CREATE INDEX Links3 ON Links (Target, Type) ;
-CREATE INDEX Links4 ON Links (Type,LocalBase);
-
-
-
-CREATE TABLE Principals (
- id INTEGER AUTO_INCREMENT not null,
- PrincipalType VARCHAR(16) not null,
- ObjectId integer, # foreign key to Users or Groups, depending
- Disabled int2 NOT NULL DEFAULT 0 ,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-CREATE INDEX Principals2 ON Principals (ObjectId);
-
-
-
-CREATE TABLE Groups (
- id INTEGER NOT NULL AUTO_INCREMENT,
- Name varchar(200) NULL ,
- Description varchar(255) NULL ,
- Domain varchar(64),
- Type varchar(64),
- Instance integer,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-CREATE INDEX Groups1 ON Groups (Domain,Instance,Type,id);
-CREATE INDEX Groups2 On Groups (Type, Instance);
-
-
-
-CREATE TABLE ScripConditions (
- id INTEGER NOT NULL AUTO_INCREMENT,
- Name varchar(200) NULL ,
- Description varchar(255) NULL ,
- ExecModule varchar(60) NULL ,
- Argument varchar(255) NULL ,
- ApplicableTransTypes varchar(60) NULL ,
-
- Creator integer NOT NULL DEFAULT 0 ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL DEFAULT 0 ,
- LastUpdated DATETIME NULL ,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-
-CREATE TABLE Transactions (
- id INTEGER NOT NULL AUTO_INCREMENT,
- ObjectType varchar(64) NOT NULL,
- ObjectId integer NOT NULL DEFAULT 0 ,
- TimeTaken integer NOT NULL DEFAULT 0 ,
- Type varchar(20) NULL ,
- Field varchar(40) NULL ,
- OldValue varchar(255) NULL ,
- NewValue varchar(255) NULL ,
- ReferenceType varchar(255) NULL,
- OldReference integer NULL ,
- NewReference integer NULL ,
- Data varchar(255) NULL ,
-
- Creator integer NOT NULL DEFAULT 0 ,
- Created DATETIME NULL ,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-CREATE INDEX Transactions1 ON Transactions (ObjectType, ObjectId);
-
-
-
-CREATE TABLE Scrips (
- id INTEGER NOT NULL AUTO_INCREMENT,
- Description varchar(255),
- ScripCondition integer NOT NULL DEFAULT 0 ,
- ScripAction integer NOT NULL DEFAULT 0 ,
- ConditionRules text NULL ,
- ActionRules text NULL ,
- CustomIsApplicableCode text NULL ,
- CustomPrepareCode text NULL ,
- CustomCommitCode text NULL ,
- Stage varchar(32) NULL ,
- Queue integer NOT NULL DEFAULT 0 ,
- Template integer NOT NULL DEFAULT 0 ,
- Creator integer NOT NULL DEFAULT 0 ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL DEFAULT 0 ,
- LastUpdated DATETIME NULL ,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-
-CREATE TABLE ACL (
- id INTEGER NOT NULL AUTO_INCREMENT,
- PrincipalType varchar(25) NOT NULL, #"User" "Group", "Owner", "Cc" "AdminCc", "Requestor", "Requestor"
-
- PrincipalId integer NOT NULL , #Foreign key to principals
- RightName varchar(25) NOT NULL ,
- ObjectType varchar(25) NOT NULL ,
- ObjectId integer NOT NULL default 0,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-CREATE INDEX ACL1 on ACL(RightName, ObjectType, ObjectId,PrincipalType,PrincipalId);
-
-
-
-CREATE TABLE GroupMembers (
- id INTEGER NOT NULL AUTO_INCREMENT,
- GroupId integer NOT NULL DEFAULT 0,
- MemberId integer NOT NULL DEFAULT 0, #Foreign key to Principals
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-CREATE UNIQUE INDEX GroupMembers1 on GroupMembers (GroupId, MemberId);
-
-
-
-
-create table CachedGroupMembers (
- id int auto_increment,
- GroupId int, # foreign key to Principals
- MemberId int, # foreign key to Principals
- Via int, #foreign key to CachedGroupMembers. (may point to $self->id)
- ImmediateParentId int, #foreign key to prinicpals.
- # this points to the group that the member is
- # a member of, for ease of deletes.
- Disabled int2 NOT NULL DEFAULT 0 , # if this cached group member is a member of this group by way of a disabled
- # group or this group is disabled, this will be set to 1
- # this allows us to not find members of disabled subgroups when listing off
- # group members recursively.
- # Also, this allows us to have the ACL system elide members of disabled groups
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-CREATE INDEX DisGrouMem on CachedGroupMembers (GroupId,MemberId,Disabled);
-CREATE INDEX CachedGroupMembers3 on CachedGroupMembers (MemberId, ImmediateParentId);
-
-
-
-CREATE TABLE Users (
- id INTEGER NOT NULL AUTO_INCREMENT,
- Name varchar(200) NOT NULL ,
- Password varchar(40) NULL ,
- Comments blob NULL ,
- Signature blob NULL ,
- EmailAddress varchar(120) NULL ,
- FreeformContactInfo blob NULL ,
- Organization varchar(200) NULL ,
- RealName varchar(120) NULL ,
- NickName varchar(16) NULL ,
- Lang varchar(16) NULL ,
- EmailEncoding varchar(16) NULL ,
- WebEncoding varchar(16) NULL ,
- ExternalContactInfoId varchar(100) NULL ,
- ContactInfoSystem varchar(30) NULL ,
- ExternalAuthId varchar(100) NULL ,
- AuthSystem varchar(30) NULL ,
- Gecos varchar(16) NULL ,
- HomePhone varchar(30) NULL ,
- WorkPhone varchar(30) NULL ,
- MobilePhone varchar(30) NULL ,
- PagerPhone varchar(30) NULL ,
- Address1 varchar(200) NULL ,
- Address2 varchar(200) NULL ,
- City varchar(100) NULL ,
- State varchar(100) NULL ,
- Zip varchar(16) NULL ,
- Country varchar(50) NULL ,
- Timezone varchar(50) NULL ,
- PGPKey text NULL,
-
- Creator integer NOT NULL DEFAULT 0 ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL DEFAULT 0 ,
- LastUpdated DATETIME NULL ,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-
-CREATE UNIQUE INDEX Users1 ON Users (Name) ;
-CREATE INDEX Users4 ON Users (EmailAddress);
-
-
-
-
-CREATE TABLE Tickets (
- id INTEGER NOT NULL AUTO_INCREMENT,
- EffectiveId integer NOT NULL DEFAULT 0 ,
- Queue integer NOT NULL DEFAULT 0 ,
- Type varchar(16) NULL ,
- IssueStatement integer NOT NULL DEFAULT 0 ,
- Resolution integer NOT NULL DEFAULT 0 ,
- Owner integer NOT NULL DEFAULT 0 ,
- Subject varchar(200) NULL DEFAULT '[no subject]' ,
- InitialPriority integer NOT NULL DEFAULT 0 ,
- FinalPriority integer NOT NULL DEFAULT 0 ,
- Priority integer NOT NULL DEFAULT 0 ,
- TimeEstimated integer NOT NULL DEFAULT 0 ,
- TimeWorked integer NOT NULL DEFAULT 0 ,
- Status varchar(10) NULL ,
- TimeLeft integer NOT NULL DEFAULT 0 ,
- Told DATETIME NULL ,
- Starts DATETIME NULL ,
- Started DATETIME NULL ,
- Due DATETIME NULL ,
- Resolved DATETIME NULL ,
-
-
- LastUpdatedBy integer NOT NULL DEFAULT 0 ,
- LastUpdated DATETIME NULL ,
- Creator integer NOT NULL DEFAULT 0 ,
- Created DATETIME NULL ,
- Disabled int2 NOT NULL DEFAULT 0 ,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-CREATE INDEX Tickets1 ON Tickets (Queue, Status) ;
-CREATE INDEX Tickets2 ON Tickets (Owner) ;
-CREATE INDEX Tickets6 ON Tickets (EffectiveId, Type) ;
-
-
-
-CREATE TABLE ScripActions (
- id INTEGER NOT NULL AUTO_INCREMENT,
- Name varchar(200) NULL ,
- Description varchar(255) NULL ,
- ExecModule varchar(60) NULL ,
- Argument varchar(255) NULL ,
- Creator integer NOT NULL DEFAULT 0 ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL DEFAULT 0 ,
- LastUpdated DATETIME NULL ,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-
-
-CREATE TABLE Templates (
- id INTEGER NOT NULL AUTO_INCREMENT,
- Queue integer NOT NULL DEFAULT 0 ,
- Name varchar(200) NOT NULL ,
- Description varchar(255) NULL ,
- Type varchar(16) NULL ,
- Language varchar(16) NULL ,
- TranslationOf integer NOT NULL DEFAULT 0 ,
- Content blob NULL ,
- LastUpdated DATETIME NULL ,
- LastUpdatedBy integer NOT NULL DEFAULT 0 ,
- Creator integer NOT NULL DEFAULT 0 ,
- Created DATETIME NULL ,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-
-
-CREATE TABLE ObjectCustomFieldValues (
- id INTEGER NOT NULL AUTO_INCREMENT,
- CustomField int NOT NULL ,
- ObjectType varchar(255) NOT NULL, # Final target of the Object
- ObjectId int NOT NULL , # New -- Replaces Ticket
- SortOrder integer NOT NULL DEFAULT 0 , # New -- ordering for multiple values
-
- Content varchar(255) NULL ,
- LargeContent LONGTEXT NULL, # New -- to hold 255+ strings
- ContentType varchar(80) NULL, # New -- only text/* gets searched
- ContentEncoding varchar(80) NULL , # New -- for binary Content
- Category VARCHAR(255) NULL,
-
- Creator integer NOT NULL DEFAULT 0 ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL DEFAULT 0 ,
- LastUpdated DATETIME NULL ,
- Disabled int2 NOT NULL DEFAULT 0 , # New -- whether the value was current
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-CREATE INDEX ObjectCustomFieldValues1 ON ObjectCustomFieldValues (Content);
-CREATE INDEX ObjectCustomFieldValues2 ON ObjectCustomFieldValues (CustomField,ObjectType,ObjectId);
-
-
-
-CREATE TABLE CustomFields (
- id INTEGER NOT NULL AUTO_INCREMENT,
- Name varchar(200) NULL ,
- Type varchar(200) NULL , # Changed -- 'Single' and 'Multiple' is moved out
- MaxValues integer, # New -- was 'Single'(1) and 'Multiple'(0)
- Pattern TEXT NULL , # New -- Must validate against this
- Repeated int2 NOT NULL DEFAULT 0 , # New -- repeated table entry
- Description varchar(255) NULL ,
- SortOrder integer NOT NULL DEFAULT 0 ,
- LookupType varchar(255) NOT NULL,
-
- Creator integer NOT NULL DEFAULT 0 ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL DEFAULT 0 ,
- LastUpdated DATETIME NULL ,
- Disabled int2 NOT NULL DEFAULT 0 ,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-
-
-CREATE TABLE ObjectCustomFields (
- id INTEGER NOT NULL AUTO_INCREMENT,
- CustomField int NOT NULL ,
- ObjectId integer NOT NULL,
- SortOrder integer NOT NULL DEFAULT 0 ,
-
- Creator integer NOT NULL DEFAULT 0 ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL DEFAULT 0 ,
- LastUpdated DATETIME NULL ,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-
-
-CREATE TABLE CustomFieldValues (
- id INTEGER NOT NULL AUTO_INCREMENT,
- CustomField int NOT NULL ,
- Name varchar(200) NULL ,
- Description varchar(255) NULL ,
- SortOrder integer NOT NULL DEFAULT 0 ,
-
- Creator integer NOT NULL DEFAULT 0 ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL DEFAULT 0 ,
- LastUpdated DATETIME NULL ,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-CREATE INDEX CustomFieldValues1 ON CustomFieldValues (CustomField);
-
-
-
-
-CREATE TABLE Attributes (
- id INTEGER NOT NULL AUTO_INCREMENT,
- Name varchar(255) NULL ,
- Description varchar(255) NULL ,
- Content text,
- ContentType varchar(16),
- ObjectType varchar(64),
- ObjectId integer, # foreign key to anything
- Creator integer NOT NULL DEFAULT 0 ,
- Created DATETIME NULL ,
- LastUpdatedBy integer NOT NULL DEFAULT 0 ,
- LastUpdated DATETIME NULL ,
- PRIMARY KEY (id)
-) TYPE=InnoDB;
-
-CREATE INDEX Attributes1 on Attributes(Name);
-CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId);
-
-
-
-# sessions is used by Apache::Session to keep sessions in the database.
-# We should have a reaper script somewhere.
-
-CREATE TABLE sessions (
- id char(32) NOT NULL,
- a_session LONGTEXT,
- LastUpdated TIMESTAMP,
- PRIMARY KEY (id)
-);
-
commit 51bb4ff70812d0abd552e08d243637825d7cc7b2
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Wed Sep 29 16:41:44 2010 -0400
rerun factory for Category
diff --git a/lib/RT/CustomFieldValue.pm b/lib/RT/CustomFieldValue.pm
index 503e2d2..0b0981d 100755
--- a/lib/RT/CustomFieldValue.pm
+++ b/lib/RT/CustomFieldValue.pm
@@ -89,9 +89,9 @@ Create takes a hash of values and creates a row in the database:
int(11) 'CustomField'.
varchar(200) 'Name'.
- varchar(255) 'Category'.
varchar(255) 'Description'.
int(11) 'SortOrder'.
+ varchar(255) 'Category'.
=cut
@@ -104,16 +104,16 @@ sub Create {
CustomField => '',
Name => '',
Description => '',
- Category => '',
SortOrder => '0',
+ Category => '',
@_);
$self->SUPER::Create(
CustomField => $args{'CustomField'},
Name => $args{'Name'},
- Category => $args{'Category'},
Description => $args{'Description'},
SortOrder => $args{'SortOrder'},
+ Category => $args{'Category'},
);
}
@@ -179,26 +179,6 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-
-=head2 Category
-
-Returns the current value of Category.
-(In the database, Category is stored as varchar(255).)
-
-
-
-=head2 SetCategory VALUE
-
-
-Set Category to VALUE.
-Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, Category will be stored as a varchar(255).)
-
-
-=cut
-
-
-
=head2 Description
Returns the current value of Description.
@@ -235,6 +215,24 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
+=head2 Category
+
+Returns the current value of Category.
+(In the database, Category is stored as varchar(255).)
+
+
+
+=head2 SetCategory VALUE
+
+
+Set Category to VALUE.
+Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
+(In the database, Category will be stored as a varchar(255).)
+
+
+=cut
+
+
=head2 Creator
Returns the current value of Creator.
@@ -281,12 +279,12 @@ sub _CoreAccessible {
{read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
Name =>
{read => 1, write => 1, sql_type => 12, length => 200, is_blob => 0, is_numeric => 0, type => 'varchar(200)', default => ''},
- Category =>
- {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
Description =>
{read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
SortOrder =>
{read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ Category =>
+ {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
Creator =>
{read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
Created =>
commit 1b803767a6b33966e3fb655b1a08d8e4d94574ef
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Wed Sep 29 17:03:49 2010 -0400
Add LastUpdated/LastUpdatedBy/Created/Creator to Groups/GroupMembers/ACL
diff --git a/etc/schema.Oracle b/etc/schema.Oracle
index 6bca62e..912a1c6 100755
--- a/etc/schema.Oracle
+++ b/etc/schema.Oracle
@@ -79,7 +79,11 @@ CREATE TABLE Groups (
Description VARCHAR2(255),
Domain VARCHAR2(64),
Type VARCHAR2(64),
- Instance NUMBER(11,0) DEFAULT 0 -- NOT NULL
+ Instance NUMBER(11,0) DEFAULT 0, -- NOT NULL
+ Creator NUMBER(11,0) DEFAULT 0 NOT NULL,
+ Created DATE,
+ LastUpdatedBy NUMBER(11,0) DEFAULT 0 NOT NULL,
+ LastUpdated DATE
-- Instance VARCHAR2(64)
);
CREATE INDEX Groups1 ON Groups (LOWER(Domain), Instance, LOWER(Type), id);
@@ -153,7 +157,11 @@ CREATE TABLE ACL (
PrincipalId NUMBER(11,0) NOT NULL,
RightName VARCHAR2(25) NOT NULL,
ObjectType VARCHAR2(25) NOT NULL,
- ObjectId NUMBER(11,0) DEFAULT 0 NOT NULL
+ ObjectId NUMBER(11,0) DEFAULT 0 NOT NULL,
+ Creator NUMBER(11,0) DEFAULT 0 NOT NULL,
+ Created DATE,
+ LastUpdatedBy NUMBER(11,0) DEFAULT 0 NOT NULL,
+ LastUpdated DATE
);
CREATE INDEX ACL1 ON ACL(RightName, ObjectType, ObjectId, PrincipalType, PrincipalId);
@@ -163,7 +171,11 @@ CREATE TABLE GroupMembers (
id NUMBER(11,0)
CONSTRAINT GroupMembers_Key PRIMARY KEY,
GroupId NUMBER(11,0) DEFAULT 0 NOT NULL,
- MemberId NUMBER(11,0) DEFAULT 0 NOT NULL
+ MemberId NUMBER(11,0) DEFAULT 0 NOT NULL,
+ Creator NUMBER(11,0) DEFAULT 0 NOT NULL,
+ Created DATE,
+ LastUpdatedBy NUMBER(11,0) DEFAULT 0 NOT NULL,
+ LastUpdated DATE
);
CREATE UNIQUE INDEX GroupMembers1 ON GroupMembers (GroupId, MemberId);
diff --git a/etc/schema.Pg b/etc/schema.Pg
index 7e183cd..fdd4e5d 100755
--- a/etc/schema.Pg
+++ b/etc/schema.Pg
@@ -135,6 +135,10 @@ CREATE TABLE Groups (
Domain varchar(64),
Type varchar(64),
Instance integer,
+ Creator integer NOT NULL DEFAULT 0 ,
+ Created TIMESTAMP NULL ,
+ LastUpdatedBy integer NOT NULL DEFAULT 0 ,
+ LastUpdated TIMESTAMP NULL ,
PRIMARY KEY (id)
);
@@ -254,6 +258,10 @@ CREATE TABLE ACL (
RightName varchar(25) NOT NULL ,
ObjectType varchar(25) NOT NULL ,
ObjectId integer NOT NULL DEFAULT 0,
+ Creator integer NOT NULL DEFAULT 0 ,
+ Created TIMESTAMP NULL ,
+ LastUpdatedBy integer NOT NULL DEFAULT 0 ,
+ LastUpdated TIMESTAMP NULL ,
PRIMARY KEY (id)
);
@@ -277,6 +285,10 @@ CREATE TABLE GroupMembers (
id INTEGER DEFAULT nextval('groupmembers_id_seq'),
GroupId integer NOT NULL DEFAULT 0,
MemberId integer NOT NULL DEFAULT 0,
+ Creator integer NOT NULL DEFAULT 0 ,
+ Created TIMESTAMP NULL ,
+ LastUpdatedBy integer NOT NULL DEFAULT 0 ,
+ LastUpdated TIMESTAMP NULL ,
PRIMARY KEY (id)
);
diff --git a/etc/schema.SQLite b/etc/schema.SQLite
index 48674cc..bd8f821 100755
--- a/etc/schema.SQLite
+++ b/etc/schema.SQLite
@@ -82,7 +82,11 @@ CREATE TABLE Groups (
Description varchar(255) NULL ,
Domain varchar(64),
Type varchar(64),
- Instance integer
+ Instance integer,
+ Creator integer NOT NULL DEFAULT 0 ,
+ Created DATETIME NULL ,
+ LastUpdatedBy integer NOT NULL DEFAULT 0 ,
+ LastUpdated DATETIME NULL
) ;
@@ -164,7 +168,11 @@ CREATE TABLE ACL (
PrincipalId INTEGER,
RightName varchar(25) NOT NULL ,
ObjectType varchar(25) NOT NULL ,
- ObjectId INTEGER default 0
+ ObjectId INTEGER default 0,
+ Creator integer NOT NULL DEFAULT 0 ,
+ Created DATETIME NULL ,
+ LastUpdatedBy integer NOT NULL DEFAULT 0 ,
+ LastUpdated DATETIME NULL
) ;
@@ -176,7 +184,11 @@ CREATE TABLE ACL (
CREATE TABLE GroupMembers (
id INTEGER PRIMARY KEY ,
GroupId integer NULL,
- MemberId integer NULL
+ MemberId integer NULL,
+ Creator integer NOT NULL DEFAULT 0 ,
+ Created DATETIME NULL ,
+ LastUpdatedBy integer NOT NULL DEFAULT 0 ,
+ LastUpdated DATETIME NULL
) ;
diff --git a/etc/schema.mysql b/etc/schema.mysql
index 5071fb5..b10975e 100755
--- a/etc/schema.mysql
+++ b/etc/schema.mysql
@@ -79,6 +79,10 @@ CREATE TABLE Groups (
Domain varchar(64) CHARACTER SET ascii NULL,
Type varchar(64) CHARACTER SET ascii NULL,
Instance integer,
+ Creator integer NOT NULL DEFAULT 0 ,
+ Created DATETIME NULL ,
+ LastUpdatedBy integer NOT NULL DEFAULT 0 ,
+ LastUpdated DATETIME NULL ,
PRIMARY KEY (id)
) TYPE=InnoDB CHARACTER SET utf8;
@@ -155,6 +159,10 @@ CREATE TABLE ACL (
RightName varchar(25) CHARACTER SET ascii NOT NULL,
ObjectType varchar(25) CHARACTER SET ascii NOT NULL,
ObjectId integer NOT NULL default 0,
+ Creator integer NOT NULL DEFAULT 0 ,
+ Created DATETIME NULL ,
+ LastUpdatedBy integer NOT NULL DEFAULT 0 ,
+ LastUpdated DATETIME NULL ,
PRIMARY KEY (id)
) TYPE=InnoDB CHARACTER SET utf8;
@@ -166,6 +174,10 @@ CREATE TABLE GroupMembers (
id INTEGER NOT NULL AUTO_INCREMENT,
GroupId integer NOT NULL DEFAULT 0,
MemberId integer NOT NULL DEFAULT 0, #Foreign key to Principals
+ Creator integer NOT NULL DEFAULT 0 ,
+ Created DATETIME NULL ,
+ LastUpdatedBy integer NOT NULL DEFAULT 0 ,
+ LastUpdated DATETIME NULL ,
PRIMARY KEY (id)
) TYPE=InnoDB CHARACTER SET utf8;
CREATE UNIQUE INDEX GroupMembers1 on GroupMembers (GroupId, MemberId);
diff --git a/etc/upgrade/3.9.5/schema.Oracle b/etc/upgrade/3.9.5/schema.Oracle
index 2c6ebde..80881a3 100644
--- a/etc/upgrade/3.9.5/schema.Oracle
+++ b/etc/upgrade/3.9.5/schema.Oracle
@@ -5,3 +5,16 @@ Name = 'Category' AND ObjectType = 'RT::CustomFieldValue'
AND CustomFieldValues.id = Attributes.ObjectId);
DELETE FROM Attributes WHERE Name = 'Category' AND ObjectType = 'RT::CustomFieldValue';
+
+ALTER TABLE Groups ADD COLUMN Creator NUMBER(11,0) DEFAULT 0 NOT NULL;
+ALTER TABLE Groups ADD COLUMN Created DATE;
+ALTER TABLE Groups ADD COLUMN LastUpdatedBy NUMBER(11,0) DEFAULT 0 NOT NULL;
+ALTER TABLE Groups ADD COLUMN LastUpdated DATE;
+ALTER TABLE GroupMembers ADD COLUMN Creator NUMBER(11,0) DEFAULT 0 NOT NULL;
+ALTER TABLE GroupMembers ADD COLUMN Created DATE;
+ALTER TABLE GroupMembers ADD COLUMN LastUpdatedBy NUMBER(11,0) DEFAULT 0 NOT NULL;
+ALTER TABLE GroupMembers ADD COLUMN LastUpdated DATE;
+ALTER TABLE ACL ADD COLUMN Creator NUMBER(11,0) DEFAULT 0 NOT NULL;
+ALTER TABLE ACL ADD COLUMN Created DATE;
+ALTER TABLE ACL ADD COLUMN LastUpdatedBy NUMBER(11,0) DEFAULT 0 NOT NULL;
+ALTER TABLE ACL ADD COLUMN LastUpdated DATE;
diff --git a/etc/upgrade/3.9.5/schema.Pg b/etc/upgrade/3.9.5/schema.Pg
index b33aee9..cea2c44 100644
--- a/etc/upgrade/3.9.5/schema.Pg
+++ b/etc/upgrade/3.9.5/schema.Pg
@@ -5,3 +5,16 @@ Name = 'Category' AND ObjectType = 'RT::CustomFieldValue'
AND CustomFieldValues.id = Attributes.ObjectId);
DELETE FROM Attributes WHERE Name = 'Category' AND ObjectType = 'RT::CustomFieldValue';
+
+ALTER TABLE Groups ADD COLUMN Creator integer NOT NULL DEFAULT 0;
+ALTER TABLE Groups ADD COLUMN Created TIMESTAMP NULL;
+ALTER TABLE Groups ADD COLUMN LastUpdatedBy integer NOT NULL DEFAULT 0;
+ALTER TABLE Groups ADD COLUMN LastUpdated TIMESTAMP NULL;
+ALTER TABLE GroupMembers ADD COLUMN Creator integer NOT NULL DEFAULT 0;
+ALTER TABLE GroupMembers ADD COLUMN Created TIMESTAMP NULL;
+ALTER TABLE GroupMembers ADD COLUMN LastUpdatedBy integer NOT NULL DEFAULT 0;
+ALTER TABLE GroupMembers ADD COLUMN LastUpdated TIMESTAMP NULL;
+ALTER TABLE ACL ADD COLUMN Creator integer NOT NULL DEFAULT 0;
+ALTER TABLE ACL ADD COLUMN Created TIMESTAMP NULL;
+ALTER TABLE ACL ADD COLUMN LastUpdatedBy integer NOT NULL DEFAULT 0;
+ALTER TABLE ACL ADD COLUMN LastUpdated TIMESTAMP NULL;
diff --git a/etc/upgrade/3.9.5/schema.SQLite b/etc/upgrade/3.9.5/schema.SQLite
index 65f2bf5..5804d44 100644
--- a/etc/upgrade/3.9.5/schema.SQLite
+++ b/etc/upgrade/3.9.5/schema.SQLite
@@ -4,3 +4,16 @@ Name = 'Category' AND ObjectType = 'RT::CustomFieldValue'
AND CustomFieldValues.id = Attributes.ObjectId);
DELETE FROM Attributes WHERE Name = 'Category' AND ObjectType = 'RT::CustomFieldValue';
+
+ALTER TABLE Groups ADD COLUMN Creator integer NOT NULL DEFAULT 0;
+ALTER TABLE Groups ADD COLUMN Created DATETIME NULL;
+ALTER TABLE Groups ADD COLUMN LastUpdatedBy integer NOT NULL DEFAULT 0;
+ALTER TABLE Groups ADD COLUMN LastUpdated DATETIME NULL;
+ALTER TABLE GroupMembers ADD COLUMN Creator integer NOT NULL DEFAULT 0;
+ALTER TABLE GroupMembers ADD COLUMN Created DATETIME NULL;
+ALTER TABLE GroupMembers ADD COLUMN LastUpdatedBy integer NOT NULL DEFAULT 0;
+ALTER TABLE GroupMembers ADD COLUMN LastUpdated DATETIME NULL;
+ALTER TABLE ACL ADD COLUMN Creator integer NOT NULL DEFAULT 0;
+ALTER TABLE ACL ADD COLUMN Created DATETIME NULL;
+ALTER TABLE ACL ADD COLUMN LastUpdatedBy integer NOT NULL DEFAULT 0;
+ALTER TABLE ACL ADD COLUMN LastUpdated DATETIME NULL;
diff --git a/etc/upgrade/3.9.5/schema.mysql b/etc/upgrade/3.9.5/schema.mysql
index 324cd74..4bd0907 100644
--- a/etc/upgrade/3.9.5/schema.mysql
+++ b/etc/upgrade/3.9.5/schema.mysql
@@ -1,7 +1,20 @@
-alter Table CustomFieldValues ADD Column (Category varchar(255));
+alter Table CustomFieldValues ADD Column Category varchar(255);
UPDATE CustomFieldValues SET Category = (SELECT Content FROM Attributes WHERE
Name = 'Category' AND ObjectType = 'RT::CustomFieldValue'
AND CustomFieldValues.id = Attributes.ObjectId);
DELETE FROM Attributes WHERE Name = 'Category' AND ObjectType = 'RT::CustomFieldValue';
+
+ALTER TABLE Groups ADD COLUMN Creator integer NOT NULL DEFAULT 0;
+ALTER TABLE Groups ADD COLUMN Created DATETIME NULL;
+ALTER TABLE Groups ADD COLUMN LastUpdatedBy integer NOT NULL DEFAULT 0;
+ALTER TABLE Groups ADD COLUMN LastUpdated DATETIME NULL;
+ALTER TABLE GroupMembers ADD COLUMN Creator integer NOT NULL DEFAULT 0;
+ALTER TABLE GroupMembers ADD COLUMN Created DATETIME NULL;
+ALTER TABLE GroupMembers ADD COLUMN LastUpdatedBy integer NOT NULL DEFAULT 0;
+ALTER TABLE GroupMembers ADD COLUMN LastUpdated DATETIME NULL;
+ALTER TABLE ACL ADD COLUMN Creator integer NOT NULL DEFAULT 0;
+ALTER TABLE ACL ADD COLUMN Created DATETIME NULL;
+ALTER TABLE ACL ADD COLUMN LastUpdatedBy integer NOT NULL DEFAULT 0;
+ALTER TABLE ACL ADD COLUMN LastUpdated DATETIME NULL;
diff --git a/lib/RT/ACE.pm b/lib/RT/ACE.pm
index 67ea6ee..3c9ef1a 100755
--- a/lib/RT/ACE.pm
+++ b/lib/RT/ACE.pm
@@ -91,8 +91,6 @@ Create takes a hash of values and creates a row in the database:
varchar(25) 'RightName'.
varchar(25) 'ObjectType'.
int(11) 'ObjectId'.
- int(11) 'DelegatedBy'.
- int(11) 'DelegatedFrom'.
=cut
@@ -107,8 +105,6 @@ sub Create {
RightName => '',
ObjectType => '',
ObjectId => '0',
- DelegatedBy => '0',
- DelegatedFrom => '0',
@_);
$self->SUPER::Create(
@@ -117,8 +113,6 @@ sub Create {
RightName => $args{'RightName'},
ObjectType => $args{'ObjectType'},
ObjectId => $args{'ObjectId'},
- DelegatedBy => $args{'DelegatedBy'},
- DelegatedFrom => $args{'DelegatedFrom'},
);
}
@@ -224,37 +218,37 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 DelegatedBy
+=head2 Creator
-Returns the current value of DelegatedBy.
-(In the database, DelegatedBy is stored as int(11).)
+Returns the current value of Creator.
+(In the database, Creator is stored as int(11).)
+=cut
-=head2 SetDelegatedBy VALUE
+=head2 Created
-Set DelegatedBy to VALUE.
-Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, DelegatedBy will be stored as a int(11).)
+Returns the current value of Created.
+(In the database, Created is stored as datetime.)
=cut
-=head2 DelegatedFrom
+=head2 LastUpdatedBy
-Returns the current value of DelegatedFrom.
-(In the database, DelegatedFrom is stored as int(11).)
+Returns the current value of LastUpdatedBy.
+(In the database, LastUpdatedBy is stored as int(11).)
+=cut
-=head2 SetDelegatedFrom VALUE
+=head2 LastUpdated
-Set DelegatedFrom to VALUE.
-Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, DelegatedFrom will be stored as a int(11).)
+Returns the current value of LastUpdated.
+(In the database, LastUpdated is stored as datetime.)
=cut
@@ -276,10 +270,14 @@ sub _CoreAccessible {
{read => 1, write => 1, sql_type => 12, length => 25, is_blob => 0, is_numeric => 0, type => 'varchar(25)', default => ''},
ObjectId =>
{read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
- DelegatedBy =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
- DelegatedFrom =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ Creator =>
+ {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ Created =>
+ {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ LastUpdatedBy =>
+ {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ LastUpdated =>
+ {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
}
};
diff --git a/lib/RT/Group.pm b/lib/RT/Group.pm
index 59b59bb..7683a82 100755
--- a/lib/RT/Group.pm
+++ b/lib/RT/Group.pm
@@ -218,6 +218,42 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
+=head2 Creator
+
+Returns the current value of Creator.
+(In the database, Creator is stored as int(11).)
+
+
+=cut
+
+
+=head2 Created
+
+Returns the current value of Created.
+(In the database, Created is stored as datetime.)
+
+
+=cut
+
+
+=head2 LastUpdatedBy
+
+Returns the current value of LastUpdatedBy.
+(In the database, LastUpdatedBy is stored as int(11).)
+
+
+=cut
+
+
+=head2 LastUpdated
+
+Returns the current value of LastUpdated.
+(In the database, LastUpdated is stored as datetime.)
+
+
+=cut
+
+
sub _CoreAccessible {
{
@@ -234,6 +270,14 @@ sub _CoreAccessible {
{read => 1, write => 1, sql_type => 12, length => 64, is_blob => 0, is_numeric => 0, type => 'varchar(64)', default => ''},
Instance =>
{read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
+ Creator =>
+ {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ Created =>
+ {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ LastUpdatedBy =>
+ {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ LastUpdated =>
+ {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
}
};
diff --git a/lib/RT/GroupMember.pm b/lib/RT/GroupMember.pm
index c3ee346..29be564 100755
--- a/lib/RT/GroupMember.pm
+++ b/lib/RT/GroupMember.pm
@@ -155,6 +155,42 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
+=head2 Creator
+
+Returns the current value of Creator.
+(In the database, Creator is stored as int(11).)
+
+
+=cut
+
+
+=head2 Created
+
+Returns the current value of Created.
+(In the database, Created is stored as datetime.)
+
+
+=cut
+
+
+=head2 LastUpdatedBy
+
+Returns the current value of LastUpdatedBy.
+(In the database, LastUpdatedBy is stored as int(11).)
+
+
+=cut
+
+
+=head2 LastUpdated
+
+Returns the current value of LastUpdated.
+(In the database, LastUpdated is stored as datetime.)
+
+
+=cut
+
+
sub _CoreAccessible {
{
@@ -165,6 +201,14 @@ sub _CoreAccessible {
{read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
MemberId =>
{read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ Creator =>
+ {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ Created =>
+ {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ LastUpdatedBy =>
+ {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ LastUpdated =>
+ {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
}
};
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list