commit
7c9ee30a9f
30
postgresql-odbc-09.05.0400-revert-money-testsuite-fix.patch
Normal file
30
postgresql-odbc-09.05.0400-revert-money-testsuite-fix.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
Revert "Fix regression test failures in param-convesrions-test."
|
||||||
|
|
||||||
|
As we have applied a downstream patch for reverting the money type patch,
|
||||||
|
we need to also revert upstream test cases that are not supposed to be passing
|
||||||
|
in the first place.
|
||||||
|
This reverts commit eb480e19ee71b19de7f61013bdb4d5abd1cd98e4.
|
||||||
|
|
||||||
|
Related discussion:
|
||||||
|
http://www.postgresql.org/message-id/3259874.lgiBp3an9Y@nb.usersys.redhat.com
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/test/expected/param-conversions.out b/test/expected/param-conversions.out
|
||||||
|
index 777cc94..449a398 100644
|
||||||
|
--- a/test/expected/param-conversions.out
|
||||||
|
+++ b/test/expected/param-conversions.out
|
||||||
|
@@ -72,12 +72,12 @@ Error while executing the query
|
||||||
|
|
||||||
|
Testing "SELECT 1.3 > ?" with SQL_C_CHAR -> SQL_FLOAT param "3', 'injected, BAD!', '1"...
|
||||||
|
SQLExecDirect failed
|
||||||
|
-22P02=ERROR: invalid input syntax for type numeric: "3', 'injected, BAD!', '1";
|
||||||
|
+22P02=ERROR: invalid input syntax for type double precision: "3', 'injected, BAD!', '1";
|
||||||
|
Error while executing the query
|
||||||
|
|
||||||
|
Testing "SELECT 1.4 > ?" with SQL_C_CHAR -> SQL_FLOAT param "4 \'bad', '1"...
|
||||||
|
SQLExecDirect failed
|
||||||
|
-22P02=ERROR: invalid input syntax for type numeric: "4 \'bad', '1";
|
||||||
|
+22P02=ERROR: invalid input syntax for type double precision: "4 \'bad', '1";
|
||||||
|
Error while executing the query
|
||||||
|
|
||||||
|
Testing "SELECT 1-?" with SQL_C_CHAR -> SQL_INTEGER param "-1"...
|
||||||
95
postgresql-odbc-09.06.0200-revert-money-fix.patch
Normal file
95
postgresql-odbc-09.06.0200-revert-money-fix.patch
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
From 56ca20671a9fb87d7c6ca011207e9628349c9301 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Pavel Raiskup <praiskup@redhat.com>
|
||||||
|
Date: Mon, 13 Mar 2017 10:38:54 +0100
|
||||||
|
Subject: [PATCH] Revert "Fix the bug about MONEY type."
|
||||||
|
|
||||||
|
This reverts commit d5374bcc4d58556eb5cc70241c44dcad4d9b441e.
|
||||||
|
|
||||||
|
Proposed upstream:
|
||||||
|
http://www.postgresql.org/message-id/3259874.lgiBp3an9Y@nb.usersys.redhat.com
|
||||||
|
---
|
||||||
|
convert.c | 45 ++++++++-------------------------------------
|
||||||
|
pgtypes.c | 4 ++++
|
||||||
|
2 files changed, 12 insertions(+), 37 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/convert.c b/convert.c
|
||||||
|
index f118e30..00904d8 100644
|
||||||
|
--- a/convert.c
|
||||||
|
+++ b/convert.c
|
||||||
|
@@ -5363,50 +5363,21 @@ cleanup:
|
||||||
|
static BOOL
|
||||||
|
convert_money(const char *s, char *sout, size_t soutmax)
|
||||||
|
{
|
||||||
|
- char in, decp = 0;
|
||||||
|
size_t i = 0,
|
||||||
|
out = 0;
|
||||||
|
- int num_in = -1, period_in = -1, comma_in = -1;
|
||||||
|
|
||||||
|
for (i = 0; s[i]; i++)
|
||||||
|
{
|
||||||
|
- switch (in = s[i])
|
||||||
|
+ if (s[i] == '$' || s[i] == ',' || s[i] == ')')
|
||||||
|
+ ; /* skip these characters */
|
||||||
|
+ else
|
||||||
|
{
|
||||||
|
- case '.':
|
||||||
|
- if (period_in < 0)
|
||||||
|
- period_in = i;
|
||||||
|
- break;
|
||||||
|
- case ',':
|
||||||
|
- if (comma_in < 0)
|
||||||
|
- comma_in = i;
|
||||||
|
- break;
|
||||||
|
- default:
|
||||||
|
- if ('0' <= in && '9' >= in)
|
||||||
|
- num_in = i;
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- if (period_in > comma_in)
|
||||||
|
- {
|
||||||
|
- if ( period_in >= num_in - 2)
|
||||||
|
- decp = '.';
|
||||||
|
- }
|
||||||
|
- else if (comma_in >= 0 &&
|
||||||
|
- comma_in >= num_in - 2)
|
||||||
|
- decp = ',';
|
||||||
|
- for (i = 0; s[i] && out + 1 < soutmax; i++)
|
||||||
|
- {
|
||||||
|
- switch (in = s[i])
|
||||||
|
- {
|
||||||
|
- case '(':
|
||||||
|
- case '-':
|
||||||
|
+ if (out + 1 >= soutmax)
|
||||||
|
+ return FALSE; /* sout is too short */
|
||||||
|
+ if (s[i] == '(')
|
||||||
|
sout[out++] = '-';
|
||||||
|
- break;
|
||||||
|
- default:
|
||||||
|
- if (in >= '0' && in <= '9')
|
||||||
|
- sout[out++] = in;
|
||||||
|
- else if (in == decp)
|
||||||
|
- sout[out++] = '.';
|
||||||
|
+ else
|
||||||
|
+ sout[out++] = s[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sout[out] = '\0';
|
||||||
|
diff --git a/pgtypes.c b/pgtypes.c
|
||||||
|
index a58925c..d42179c 100644
|
||||||
|
--- a/pgtypes.c
|
||||||
|
+++ b/pgtypes.c
|
||||||
|
@@ -1273,6 +1273,10 @@ sqltype_to_pgcast(const ConnectionClass *conn, SQLSMALLINT fSqlType)
|
||||||
|
case SQL_DATE:
|
||||||
|
pgCast = "::date";
|
||||||
|
break;
|
||||||
|
+ case SQL_DOUBLE:
|
||||||
|
+ case SQL_FLOAT:
|
||||||
|
+ pgCast = "::float8";
|
||||||
|
+ break;
|
||||||
|
case SQL_DECIMAL:
|
||||||
|
case SQL_NUMERIC:
|
||||||
|
pgCast = "::numeric";
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
||||||
73
postgresql-odbc.spec
Normal file
73
postgresql-odbc.spec
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
Name: postgresql-odbc
|
||||||
|
Summary: Official postgreSQL ODBC driver
|
||||||
|
Version: 10.03.0000
|
||||||
|
Release: 3
|
||||||
|
License: LGPLv2+
|
||||||
|
URL: https://odbc.postgresql.org/
|
||||||
|
Source0: http://ftp.postgresql.org/pub/odbc/versions/src/psqlodbc-%{version}.tar.gz
|
||||||
|
|
||||||
|
Patch0000: postgresql-odbc-09.06.0200-revert-money-fix.patch
|
||||||
|
Patch0001: postgresql-odbc-09.05.0400-revert-money-testsuite-fix.patch
|
||||||
|
|
||||||
|
BuildRequires: unixODBC-devel pkgconfig(libpq) postgresql-test-rpm-macros
|
||||||
|
Provides: psqlodbc = %version-%release
|
||||||
|
|
||||||
|
%description
|
||||||
|
This package is the official PostgreSQL ODBC Driver.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Various testsuite files for psqlodbc
|
||||||
|
Requires: postgresql-test gcc make unixODBC-devel
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
Provides: %{name}-tests = %{version}-%{release}
|
||||||
|
Obsoletes: %{name}-tests < %{version}-%{release}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
The package contains different files for various tests for postgresql-odbc.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -n psqlodbc-%{version} -p1
|
||||||
|
|
||||||
|
echo "The upstream psqlodbc testsuite is distributed in '%{name}-tests'">README.rpmdist
|
||||||
|
echo "(sub)package.">>README.rpmdist
|
||||||
|
|
||||||
|
%build
|
||||||
|
%configure --with-unixodbc --disable-dependency-tracking
|
||||||
|
%make_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install
|
||||||
|
mkdir %{buildroot}/%{_libdir}/postgresql-odbc && chmod 755 %{buildroot}/%{_libdir}/postgresql-odbc
|
||||||
|
cp -R test %{buildroot}/%{_libdir}/postgresql-odbc
|
||||||
|
sed -i 's~^drvr=.*~drvr=%{_libdir}/psqlodbc~' %{buildroot}/%{_libdir}/postgresql-odbc/test/odbcini-gen.sh
|
||||||
|
cd %{buildroot}%{_libdir}
|
||||||
|
ln -s psqlodbcw.so psqlodbc.so ; rm psqlodbcw.la psqlodbca.la
|
||||||
|
|
||||||
|
%check
|
||||||
|
%postgresql_tests_run
|
||||||
|
|
||||||
|
cd test && %make_build installcheck || {
|
||||||
|
echo "=== trying to find all regression.diffs files in build directory ==="
|
||||||
|
find -name regression.diffs | while read line; do
|
||||||
|
cat "$line"
|
||||||
|
done
|
||||||
|
false
|
||||||
|
}
|
||||||
|
%post
|
||||||
|
/sbin/ldconfig
|
||||||
|
%postun
|
||||||
|
/sbin/ldconfig
|
||||||
|
|
||||||
|
%files
|
||||||
|
%{_libdir}/{psqlodbc.so,psqlodbca.so,psqlodbcw.so}
|
||||||
|
%doc license.txt readme.txt docs/* README.rpmdist
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%doc license.txt
|
||||||
|
%dir %{_libdir}/postgresql-odbc
|
||||||
|
%defattr(-,postgres,postgres)
|
||||||
|
%{_libdir}/postgresql-odbc/test
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Wed Apr 22 2020 wangyue<wangyue92@huawei.com> - 10.03.0000-3
|
||||||
|
- Package init
|
||||||
4
postgresql-odbc.yaml
Normal file
4
postgresql-odbc.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
version_control: git
|
||||||
|
src_repo: https://git.postgresql.org/gitweb/?p=psqlodbc.git
|
||||||
|
tag_prefix: "^v"
|
||||||
|
seperator: "."
|
||||||
BIN
psqlodbc-10.03.0000.tar.gz
Normal file
BIN
psqlodbc-10.03.0000.tar.gz
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user