Skip to content
Snippets Groups Projects
Commit f9998843 authored by Laurent Destailleur's avatar Laurent Destailleur
Browse files

Fix: Error in creating function with postgresql

parent 99e5f46a
No related branches found
No related tags found
No related merge requests found
...@@ -356,7 +356,7 @@ if ($_POST["action"] == "set") ...@@ -356,7 +356,7 @@ if ($_POST["action"] == "set")
print $langs->trans("DatabaseCreation").' : '; print $langs->trans("DatabaseCreation").' : ';
print $dolibarr_main_db_name; print $dolibarr_main_db_name;
print '</td>'; print '</td>';
print '<td>'.$langs->trans("Error").' '.$db->lasterrno().'</td></tr>'; print '<td>'.$langs->trans("Error").' '.$db->lasterrno().'<br>'.$db->lasterror().'</td></tr>';
// Affiche aide diagnostique // Affiche aide diagnostique
print '<tr><td colspan="2"><br>'; print '<tr><td colspan="2"><br>';
...@@ -365,7 +365,7 @@ if ($_POST["action"] == "set") ...@@ -365,7 +365,7 @@ if ($_POST["action"] == "set")
print '<br>'; print '<br>';
print '</td></tr>'; print '</td></tr>';
dolibarr_install_syslog('etape1: Failed to create database '.$dolibarr_main_db_name.' '.$db->lasterrno(), LOG_ERR); dolibarr_install_syslog('etape1: Failed to create database '.$dolibarr_main_db_name.' '.$db->lasterrno().' '.$db->lasterror(), LOG_ERR);
$error++; $error++;
} }
$db->close(); $db->close();
......
...@@ -388,14 +388,14 @@ if ($_POST["action"] == "set") ...@@ -388,14 +388,14 @@ if ($_POST["action"] == "set")
$buf = fgets($fp, 4096); $buf = fgets($fp, 4096);
if (substr($buf, 0, 2) <> '--') if (substr($buf, 0, 2) <> '--')
{ {
$buffer .= $buf; $buffer .= $buf."§";
} }
} }
fclose($fp); fclose($fp);
} }
//$buffer=preg_replace('/;\';/',";'§",$buffer);
// Si plusieurs requetes, on boucle sur chaque // If several requests, we loop on each of them
$buffer=preg_replace('/;\';/',";'§",$buffer);
$listesql=explode('§',$buffer); $listesql=explode('§',$buffer);
foreach ($listesql as $buffer) foreach ($listesql as $buffer)
{ {
...@@ -403,6 +403,7 @@ if ($_POST["action"] == "set") ...@@ -403,6 +403,7 @@ if ($_POST["action"] == "set")
if ($buffer) if ($buffer)
{ {
dolibarr_install_syslog("Request: ".$buffer,LOG_DEBUG); dolibarr_install_syslog("Request: ".$buffer,LOG_DEBUG);
print "<!-- Insert line : ".$buffer."<br>-->\n";
$resql=$db->query($buffer); $resql=$db->query($buffer);
if ($resql) if ($resql)
{ {
...@@ -411,14 +412,15 @@ if ($_POST["action"] == "set") ...@@ -411,14 +412,15 @@ if ($_POST["action"] == "set")
} }
else else
{ {
if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS'
|| $db->errno() == 'DB_ERROR_KEY_NAME_ALREADY_EXISTS')
{ {
// print "<tr><td>Insertion ligne : $buffer</td><td> //print "Insert line : ".$buffer."<br>\n";
} }
else else
{ {
$ok = 0; $ok = 0;
print $langs->trans("ErrorSQL")." : ".$db->errno()." - '$buffer' - ".$db->lastqueryerror()."<br>"; print $langs->trans("ErrorSQL")." : ".$db->errno()." - '".$buffer."'<br>\n";
} }
} }
} }
......
-- ============================================================================ -- ============================================================================
-- Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> -- Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
-- Copyright (C) 2010 Laurent Destailleur <eldy@users.sourceforge.net>
-- --
-- This program is free software; you can redistribute it and/or modify -- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by -- it under the terms of the GNU General Public License as published by
...@@ -18,6 +19,9 @@ ...@@ -18,6 +19,9 @@
-- $Id$ -- $Id$
-- ============================================================================ -- ============================================================================
CREATE LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION UNIX_TIMESTAMP(TIMESTAMP WITHOUT TIME ZONE) RETURNS BIGINT LANGUAGE SQL IMMUTABLE STRICT AS 'SELECT EXTRACT(EPOCH FROM $1)::bigint;'; CREATE OR REPLACE FUNCTION UNIX_TIMESTAMP(TIMESTAMP WITHOUT TIME ZONE) RETURNS BIGINT LANGUAGE SQL IMMUTABLE STRICT AS 'SELECT EXTRACT(EPOCH FROM $1)::bigint;';
CREATE OR REPLACE FUNCTION UNIX_TIMESTAMP(TIMESTAMP WITH TIME ZONE) RETURNS BIGINT LANGUAGE SQL IMMUTABLE STRICT AS 'SELECT EXTRACT(EPOCH FROM $1)::bigint;'; CREATE OR REPLACE FUNCTION UNIX_TIMESTAMP(TIMESTAMP WITH TIME ZONE) RETURNS BIGINT LANGUAGE SQL IMMUTABLE STRICT AS 'SELECT EXTRACT(EPOCH FROM $1)::bigint;';
...@@ -33,6 +37,7 @@ CREATE OR REPLACE FUNCTION MONTH(TIMESTAMP WITH TIME ZONE) RETURNS INTEGER AS $$ ...@@ -33,6 +37,7 @@ CREATE OR REPLACE FUNCTION MONTH(TIMESTAMP WITH TIME ZONE) RETURNS INTEGER AS $$
CREATE OR REPLACE FUNCTION MONTH(DATE) RETURNS INTEGER AS $$ SELECT EXTRACT(MONTH FROM $1)::INTEGER; $$ LANGUAGE SQL IMMUTABLE; CREATE OR REPLACE FUNCTION MONTH(DATE) RETURNS INTEGER AS $$ SELECT EXTRACT(MONTH FROM $1)::INTEGER; $$ LANGUAGE SQL IMMUTABLE;
CREATE OR REPLACE FUNCTION DAY(TIMESTAMP without TIME ZONE) RETURNS INTEGER AS $$ SELECT EXTRACT(DAY FROM $1)::INTEGER; $$ LANGUAGE SQL IMMUTABLE; CREATE OR REPLACE FUNCTION DAY(TIMESTAMP without TIME ZONE) RETURNS INTEGER AS $$ SELECT EXTRACT(DAY FROM $1)::INTEGER; $$ LANGUAGE SQL IMMUTABLE;
CREATE OR REPLACE FUNCTION DAY(TIMESTAMP WITH TIME ZONE) RETURNS INTEGER AS $$ SELECT EXTRACT(DAY FROM $1)::INTEGER; $$ LANGUAGE SQL STABLE; CREATE OR REPLACE FUNCTION DAY(TIMESTAMP WITH TIME ZONE) RETURNS INTEGER AS $$ SELECT EXTRACT(DAY FROM $1)::INTEGER; $$ LANGUAGE SQL STABLE;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment