diff options
author | Stanislau <stanislau.wolski@gmail.com> | 2011-11-01 12:13:45 +0200 |
---|---|---|
committer | Stanislau <stanislau.wolski@gmail.com> | 2011-11-01 12:13:45 +0200 |
commit | e2a32975034304e211ca772f9cf83bcbc0a7aed4 (patch) | |
tree | 26c0c0127c3efb8df1fac8571b30b593e7de71ae /codebase | |
parent | 8683dc68b9c2b4309bf455dbdd388ab34c67c843 (diff) | |
download | connector-php-e2a32975034304e211ca772f9cf83bcbc0a7aed4.zip connector-php-e2a32975034304e211ca772f9cf83bcbc0a7aed4.tar.gz connector-php-e2a32975034304e211ca772f9cf83bcbc0a7aed4.tar.bz2 |
[fix] incorrect UNION processing for non-mysql db types
Diffstat (limited to 'codebase')
-rw-r--r-- | codebase/db_mssql.php | 3 | ||||
-rw-r--r-- | codebase/db_oracle.php | 3 | ||||
-rw-r--r-- | codebase/db_pdo.php | 8 | ||||
-rw-r--r-- | codebase/db_postgre.php | 3 | ||||
-rw-r--r-- | codebase/db_sasql.php | 3 | ||||
-rw-r--r-- | codebase/db_sqlsrv.php | 3 |
6 files changed, 22 insertions, 1 deletions
diff --git a/codebase/db_mssql.php b/codebase/db_mssql.php index e082c03..0bbcf63 100644 --- a/codebase/db_mssql.php +++ b/codebase/db_mssql.php @@ -43,6 +43,9 @@ class MsSQLDBDataWrapper extends DBDataWrapper{ } protected function select_query($select,$from,$where,$sort,$start,$count){ + if (!$from) + return $select; + $sql="SELECT " ; if ($count) $sql.=" TOP ".($count+$start); diff --git a/codebase/db_oracle.php b/codebase/db_oracle.php index 5dcbd71..210af43 100644 --- a/codebase/db_oracle.php +++ b/codebase/db_oracle.php @@ -58,6 +58,9 @@ class OracleDBDataWrapper extends DBDataWrapper{ } protected function select_query($select,$from,$where,$sort,$start,$count){ + if (!$from) + return $select; + $sql="SELECT ".$select." FROM ".$from; if ($where) $sql.=" WHERE ".$where; if ($sort) $sql.=" ORDER BY ".$sort; diff --git a/codebase/db_pdo.php b/codebase/db_pdo.php index 281b23d..c008adb 100644 --- a/codebase/db_pdo.php +++ b/codebase/db_pdo.php @@ -15,12 +15,18 @@ class PDODBDataWrapper extends DBDataWrapper{ LogMaster::log($sql); $res=$this->connection->query($sql); - if ($res===false) throw new Exception("PDO - sql execution failed\n".$this->connection->errorInfo()); + if ($res===false) { + $message = $this->connection->errorInfo(); + throw new Exception("PDO - sql execution failed\n".$message[2]); + } return new PDOResultSet($res); } protected function select_query($select,$from,$where,$sort,$start,$count){ + if (!$from) + return $select; + $sql="SELECT ".$select." FROM ".$from; if ($where) $sql.=" WHERE ".$where; if ($sort) $sql.=" ORDER BY ".$sort; diff --git a/codebase/db_postgre.php b/codebase/db_postgre.php index f944714..011bd47 100644 --- a/codebase/db_postgre.php +++ b/codebase/db_postgre.php @@ -17,6 +17,9 @@ class PostgreDBDataWrapper extends DBDataWrapper{ } protected function select_query($select,$from,$where,$sort,$start,$count){ + if (!$from) + return $select; + $sql="SELECT ".$select." FROM ".$from; if ($where) $sql.=" WHERE ".$where; if ($sort) $sql.=" ORDER BY ".$sort; diff --git a/codebase/db_sasql.php b/codebase/db_sasql.php index f8eed78..85959df 100644 --- a/codebase/db_sasql.php +++ b/codebase/db_sasql.php @@ -31,6 +31,9 @@ class SaSQLDBDataWrapper extends DBDataWrapper{ } protected function select_query($select,$from,$where,$sort,$start,$count){ + if (!$from) + return $select; + $sql="SELECT " ; if ($count) $sql.=" TOP ".($count+$start); diff --git a/codebase/db_sqlsrv.php b/codebase/db_sqlsrv.php index 1dfd4ef..e5212ff 100644 --- a/codebase/db_sqlsrv.php +++ b/codebase/db_sqlsrv.php @@ -53,6 +53,9 @@ class SQLSrvDBDataWrapper extends DBDataWrapper{ } protected function select_query($select,$from,$where,$sort,$start,$count){ + if (!$from) + return $select; + $sql="SELECT " ; if ($count) $sql.=" TOP ".($count+$start); |