koha-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Koha-devel] SQL Dtabase Flavour Alternate Routines and Identifier Q


From: Simon Mitchell
Subject: Re: [Koha-devel] SQL Dtabase Flavour Alternate Routines and Identifier Quoting Proposal
Date: Sun, 5 Feb 2006 16:06:13 +1100

FYI

Hello, last year I was  playing  around with postgresql and have put some patches up on
http://www.saas.nsw.edu.au/koha_wiki/index.php?page=PostgreSQL
, but had not done any real testing.

Am looking forward to the release 3 , with all that sql moved to zebra, and might have another play.

I have found

1. MySQL searches and db names are not case sensitive.

2. that some  sql can be changed or rearranged to suite postgresql and
still work with mysql. So just changing to a more of  ANSI sql would be a good start.

3. I needed to change Context db connect string and added "db_scheme=Postgres" to /etc/koha.conf

--- koha-2.2.4/modules/C4/Context.pm 
+++ postgresql/modules/C4/Context.pm
@@ -408,7 +408,7 @@
my $db_host = $context->{"config"}{"hostname"};
my $db_user = $context->{"config"}{"user"};
my $db_passwd = $context->{"config"}{"pass"};
- return DBI->connect("DBI:$db_driver:$db_name:$db_host",
+ return DBI->connect("DBI:$db_driver:dbname=$db_name;host=$db_host",
$db_user, $db_passwd);
}


I recommend using postgresql 8.1
1.  new postgresql 8.0 and above is available for windows
2. 8.0 has a some sort problem with character set.

Regards,
Simon


On 04/02/06, Thomas D <address@hidden > wrote:
Oops, I left out an enclosing if clause for one part of the code at the end
of this section.  This is one thing need to prevent failure in the present
usual case where db_scheme may not be included in the koha.conf.

# At the top of any C4 modules or $KOHA/admin/
# scripts requiring SQL database access:
# Obtain a value for the SQL database implementation type (flavour)
my $sqlDBType = C4::Context->config("sqlDBType");
my $nonMySQLDBType = $sqlDBType;
if ($nonMySQLDBType) {
    if ($nonMySQLDBType =~ /mysql/i) {$nonMySQLDBType = undef;}
}


Thomas D


Quoting Thomas D <address@hidden> :
> ---------------- Beginning of the original message ------------------
>

[snip]

> PROPOSED CODE FOR GUIDELINE
>
> # Modification for Context.pm
>         # Quick hack for allowing databases name in full text
>         # from authorised value list
>         if ( $1 eq "db_scheme" ) {
>             $retval{sqlDBType} = $2; # add virtual config
> variable
>             $value = db_scheme2dbi($2);
>         } else {
>             $value = $2;
>         }
>         $retval->{$1} = $value;
>
>
>
> # At the top of any C4 modules or $KOHA/admin/
> # scripts requiring SQL database access:
> # Obtain a value for the SQL database implementation type
> (flavour)
> $my $sqlDBType = C4::Context->config("sqlDBType");
> my $nonMySQLDBType = $sqlDBType;
> if ($nonMySQLDBType =~ /mysql/i) {$nonMySQLDBType = undef;}
>
>
> # Alternate routines or routine placeholders for various SQL
> database types
> if ($nonMySQLDBType) {
>
>     if ($nonMySQLDBType eq 'postgres7') {
>         # Postgres 7 specific code
>     } elsif ($nonMySQLDBType eq 'postgres8') {
>         # Postgres 8 specific code
>     } elsif ($nonMySQLDBType eq 'oracle') {
>         # Oracle specific code
>     } else {
>         # ANSI code
>     }
>
> } else {
>     # MySQL specific code
> }
>
>

[snip]

---------------------------------------------
Alinto wishes you a happy new year 2006 http://www.alinto.com


_______________________________________________
Koha-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/koha-devel


reply via email to

[Prev in Thread] Current Thread [Next in Thread]