PostgreSQL: Do not cast number searches to text

This commit is contained in:
Jakub Vrana 2018-03-13 14:09:53 +01:00
parent 6ba77b7899
commit 89c66ccabe
3 changed files with 4 additions and 4 deletions

View file

@ -216,7 +216,7 @@ if (isset($_GET["pgsql"])) {
function convertSearch($idf, $val, $field) {
return (preg_match('~char|text'
. (!preg_match('~LIKE~', $val["op"]) ? '|date|time(stamp)?' . (is_numeric($val["val"]) ? '|' . number_type() : '') : '')
. (!preg_match('~LIKE~', $val["op"]) ? '|date|time(stamp)?|' . number_type() : '')
. '~', $field["type"])
? $idf
: "CAST($idf AS text)"

View file

@ -560,7 +560,7 @@ class Adminer {
// find anywhere
$cols = array();
foreach ($fields as $name => $field) {
if ((is_numeric($val["val"]) || !preg_match('~' . number_type() . '|bit~', $field["type"]))
if ((preg_match('~^[-\d.' . (preg_match('~IN$~', $val["op"]) ? ',' : '') . ']+$~', $val["val"]) || !preg_match('~' . number_type() . '|bit~', $field["type"]))
&& (!preg_match("~[\x80-\xFF]~", $val["val"]) || preg_match('~char|text|enum|set~', $field["type"]))
) {
$cols[] = $prefix . $driver->convertSearch(idf_escape($name), $val, $field) . $cond;

View file

@ -5,9 +5,9 @@ Decrease timeout for running slow queries from 5 seconds to 2 seconds
Fix displaying info about non-alphabetical objects (bug #599)
PDO: Support binary fields download
MySQL: Use CONVERT() only when searching for non-ASCII (bug #603)
PostgreSQL: Fix editing data in views (bug #605, regression from 4.6.0)
PostgreSQL: Do not cast date/time searches to text
PostgreSQL: Add SQL operator to search
PostgreSQL: Fix editing data in views (bug #605, regression from 4.6.0)
PostgreSQL: Do not cast date/time/number searches to text
Adminer 4.6.2 (released 2018-02-20):
Semi-transparent border on table actions