[otrs-cvs] otrs/Kernel/System/DB postgresql.pm, 1.32, 1.33 mssql.pm, 1.32, 1.33
CVS commits notifications of OTRS.org
cvs-log at otrs.org
Tue May 6 22:34:19 GMT 2008
Comments:
Update of /home/cvs/otrs/Kernel/System/DB
In directory lancelot:/tmp/cvs-serv17284/Kernel/System/DB
Modified Files:
postgresql.pm mssql.pm
Log Message:
Added create and drop of foreign key support.
Author: martin
Index: postgresql.pm
===================================================================
RCS file: /home/cvs/otrs/Kernel/System/DB/postgresql.pm,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** postgresql.pm 24 Apr 2008 22:04:12 -0000 1.32
--- postgresql.pm 6 May 2008 22:34:14 -0000 1.33
***************
*** 267,275 ****
my ( $Self, @Param ) = @_;
! my $SQLStart = '';
! my @SQL = ();
! my @Index = ();
! my $IndexName = ();
! my $Table = '';
for my $Tag (@Param) {
if ( $Tag->{Tag} eq 'TableAlter' && $Tag->{TagType} eq 'Start' ) {
--- 267,278 ----
my ( $Self, @Param ) = @_;
! my $SQLStart = '';
! my @SQL = ();
! my @Index = ();
! my $IndexName = ();
! my $ForeignTable = '';
! my $ReferenceName = '';
! my @Reference = ();
! my $Table = '';
for my $Tag (@Param) {
if ( $Tag->{Tag} eq 'TableAlter' && $Tag->{TagType} eq 'Start' ) {
***************
*** 354,357 ****
--- 357,381 ----
push @Index, $Tag;
}
+ elsif ( $Tag->{Tag} =~ /^((ForeignKey)(Create|Drop))/ ) {
+ my $Method = $Tag->{Tag};
+ if ( $Tag->{ForeignTable} ) {
+ $ForeignTable = $Tag->{ForeignTable};
+ }
+ if ( $Tag->{TagType} eq 'End' ) {
+ for my $Reference (@Reference) {
+ push @SQL, $Self->$Method(
+ LocalTableName => $Table,
+ Local => $Reference->{Local},
+ ForeignTableName => $ForeignTable,
+ Foreign => $Reference->{Foreign},
+ );
+ }
+ $ReferenceName = '';
+ @Reference = ();
+ }
+ }
+ elsif ( $Tag->{Tag} =~ /^(Reference)/ && $Tag->{TagType} eq 'Start' ) {
+ push @Reference, $Tag;
+ }
}
return @SQL;
Author: martin
Index: mssql.pm
===================================================================
RCS file: /home/cvs/otrs/Kernel/System/DB/mssql.pm,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** mssql.pm 24 Apr 2008 22:04:12 -0000 1.32
--- mssql.pm 6 May 2008 22:34:14 -0000 1.33
***************
*** 290,298 ****
my ( $Self, @Param ) = @_;
! my $SQLStart = '';
! my @SQL = ();
! my @Index = ();
! my $IndexName = ();
! my $Table = '';
for my $Tag (@Param) {
if ( $Tag->{Tag} eq 'TableAlter' && $Tag->{TagType} eq 'Start' ) {
--- 290,301 ----
my ( $Self, @Param ) = @_;
! my $SQLStart = '';
! my @SQL = ();
! my @Index = ();
! my $IndexName = ();
! my $ForeignTable = '';
! my $ReferenceName = '';
! my @Reference = ();
! my $Table = '';
for my $Tag (@Param) {
if ( $Tag->{Tag} eq 'TableAlter' && $Tag->{TagType} eq 'Start' ) {
***************
*** 387,390 ****
--- 390,414 ----
push @Index, $Tag;
}
+ elsif ( $Tag->{Tag} =~ /^((ForeignKey)(Create|Drop))/ ) {
+ my $Method = $Tag->{Tag};
+ if ( $Tag->{ForeignTable} ) {
+ $ForeignTable = $Tag->{ForeignTable};
+ }
+ if ( $Tag->{TagType} eq 'End' ) {
+ for my $Reference (@Reference) {
+ push @SQL, $Self->$Method(
+ LocalTableName => $Table,
+ Local => $Reference->{Local},
+ ForeignTableName => $ForeignTable,
+ Foreign => $Reference->{Foreign},
+ );
+ }
+ $ReferenceName = '';
+ @Reference = ();
+ }
+ }
+ elsif ( $Tag->{Tag} =~ /^(Reference)/ && $Tag->{TagType} eq 'Start' ) {
+ push @Reference, $Tag;
+ }
}
return @SQL;
More information about the cvs-log
mailing list