Open devrimgunduz opened 8 years ago
I just releeased 1.3.3, let me know how it works.
Thanks for the new release!
I'm getting regression failures both with python 2 and 3 (look identical, below is the python3 version):
**** regression.diffs ****
*** /tmp/autopkgtest.o9pDAE/build.svm/postgresql-multicorn-1.3.3/test-3.5/expected/multicorn_planner_test.out 2016-09-27 09:51:11.000000000 +0200
--- /tmp/autopkgtest.o9pDAE/build.svm/postgresql-multicorn-1.3.3/results/multicorn_planner_test.out 2016-09-27 13:10:32.526002201 +0200
***************
*** 17,23 ****
NOTICE: [('test1', 'character varying'), ('test2', 'character varying')]
QUERY PLAN
----------------------------------------------------------------------
! Foreign Scan on testmulticorn (cost=10.00..400.00 rows=20 width=20)
(1 row)
explain select * from testmulticorn m1 inner join testmulticorn m2 on m1.test1 = m2.test1;
--- 17,23 ----
NOTICE: [('test1', 'character varying'), ('test2', 'character varying')]
QUERY PLAN
----------------------------------------------------------------------
! Foreign Scan on testmulticorn (cost=10.00..400.00 rows=20 width=64)
(1 row)
explain select * from testmulticorn m1 inner join testmulticorn m2 on m1.test1 = m2.test1;
***************
*** 55,61 ****
NOTICE: [('test1', 'character varying'), ('test2', 'character varying')]
QUERY PLAN
----------------------------------------------------------------------------------
! Foreign Scan on testmulticorn (cost=10.00..200000000.00 rows=10000000 width=20)
(1 row)
explain select * from testmulticorn m1 inner join testmulticorn m2 on m1.test1 = m2.test1;
--- 55,61 ----
NOTICE: [('test1', 'character varying'), ('test2', 'character varying')]
QUERY PLAN
----------------------------------------------------------------------------------
! Foreign Scan on testmulticorn (cost=10.00..200000000.00 rows=10000000 width=64)
(1 row)
explain select * from testmulticorn m1 inner join testmulticorn m2 on m1.test1 = m2.test1;
======================================================================
*** /tmp/autopkgtest.o9pDAE/build.svm/postgresql-multicorn-1.3.3/test-3.5/expected/multicorn_test_sort.out 2016-09-27 09:51:11.000000000 +0200
--- /tmp/autopkgtest.o9pDAE/build.svm/postgresql-multicorn-1.3.3/results/multicorn_test_sort.out 2016-09-27 13:10:32.922002571 +0200
***************
*** 17,23 ****
NOTICE: [('test1', 'date'), ('test2', 'timestamp without time zone')]
QUERY PLAN
----------------------------------------------------------------------
! Foreign Scan on testmulticorn (cost=10.00..400.00 rows=20 width=20)
(1 row)
-- Data should be sorted
--- 17,23 ----
NOTICE: [('test1', 'date'), ('test2', 'timestamp without time zone')]
QUERY PLAN
----------------------------------------------------------------------
! Foreign Scan on testmulticorn (cost=10.00..400.00 rows=20 width=12)
(1 row)
-- Data should be sorted
======================================================================
*** /tmp/autopkgtest.o9pDAE/build.svm/postgresql-multicorn-1.3.3/test-3.5/expected/write_filesystem.out 2016-09-27 09:51:11.000000000 +0200
--- /tmp/autopkgtest.o9pDAE/build.svm/postgresql-multicorn-1.3.3/results/write_filesystem.out 2016-09-27 13:10:35.066004580 +0200
***************
*** 72,99 ****
EXPLAIN select color, size from testmulticorn where color = 'blue' and size = 'big' and name = 'square' and ext = 'txt';
QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------------
! Foreign Scan on testmulticorn (cost=20.00..120.00 rows=1 width=120)
Filter: (((color)::text = 'blue'::text) AND ((size)::text = 'big'::text) AND ((name)::text = 'square'::text) AND ((ext)::text = 'txt'::text))
(2 rows)
EXPLAIN select color, size from testmulticorn where color = 'blue' and size = 'big';
QUERY PLAN
-----------------------------------------------------------------------------
! Foreign Scan on testmulticorn (cost=20.00..6000.00 rows=100 width=60)
Filter: (((color)::text = 'blue'::text) AND ((size)::text = 'big'::text))
(2 rows)
EXPLAIN select color, size from testmulticorn where color = 'blue';
QUERY PLAN
----------------------------------------------------------------------------
! Foreign Scan on testmulticorn (cost=20.00..600000.00 rows=10000 width=60)
Filter: ((color)::text = 'blue'::text)
(2 rows)
EXPLAIN select color, size, data from testmulticorn where color = 'blue' and size = 'big' and name = 'square' and ext = 'txt';
QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------------
! Foreign Scan on testmulticorn (cost=20.00..1000150.00 rows=1 width=1000150)
Filter: (((color)::text = 'blue'::text) AND ((size)::text = 'big'::text) AND ((name)::text = 'square'::text) AND ((ext)::text = 'txt'::text))
(2 rows)
--- 72,99 ----
EXPLAIN select color, size from testmulticorn where color = 'blue' and size = 'big' and name = 'square' and ext = 'txt';
QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------------
! Foreign Scan on testmulticorn (cost=20.00..120.00 rows=1 width=64)
Filter: (((color)::text = 'blue'::text) AND ((size)::text = 'big'::text) AND ((name)::text = 'square'::text) AND ((ext)::text = 'txt'::text))
(2 rows)
EXPLAIN select color, size from testmulticorn where color = 'blue' and size = 'big';
QUERY PLAN
-----------------------------------------------------------------------------
! Foreign Scan on testmulticorn (cost=20.00..6000.00 rows=100 width=64)
Filter: (((color)::text = 'blue'::text) AND ((size)::text = 'big'::text))
(2 rows)
EXPLAIN select color, size from testmulticorn where color = 'blue';
QUERY PLAN
----------------------------------------------------------------------------
! Foreign Scan on testmulticorn (cost=20.00..600000.00 rows=10000 width=64)
Filter: ((color)::text = 'blue'::text)
(2 rows)
EXPLAIN select color, size, data from testmulticorn where color = 'blue' and size = 'big' and name = 'square' and ext = 'txt';
QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------------
! Foreign Scan on testmulticorn (cost=20.00..1000150.00 rows=1 width=96)
Filter: (((color)::text = 'blue'::text) AND ((size)::text = 'big'::text) AND ((name)::text = 'square'::text) AND ((ext)::text = 'txt'::text))
(2 rows)
======================================================================
*** /tmp/autopkgtest.o9pDAE/build.svm/postgresql-multicorn-1.3.3/test-3.5/expected/import_test.out 2016-09-27 09:51:11.000000000 +0200
--- /tmp/autopkgtest.o9pDAE/build.svm/postgresql-multicorn-1.3.3/results/import_test.out 2016-09-27 13:10:35.542005026 +0200
***************
*** 33,40 ****
SELECT relname FROM pg_class c INNER JOIN pg_namespace n on c.relnamespace = n.oid WHERE n.nspname = 'import_dest1';
relname
------------------
- imported_table_2
imported_table_1
(2 rows)
DROP EXTENSION multicorn cascade;
--- 33,40 ----
SELECT relname FROM pg_class c INNER JOIN pg_namespace n on c.relnamespace = n.oid WHERE n.nspname = 'import_dest1';
relname
------------------
imported_table_1
+ imported_table_2
(2 rows)
DROP EXTENSION multicorn cascade;
======================================================================
(These look harmless so I'm going to add some alternative _1.out expected files as a hotfix here.)
The actual patch I added to the Debian package is at https://anonscm.debian.org/cgit/pkg-postgresql/postgresql-multicorn.git/tree/debian/patches/9.6 .
Yes, the problem lies with how the path width is calculated. It has changed in 9.6, where the size of the individual attributes is used instead of trusting what the fdw explicitly set on the path.
I don't really know how to fix that in a way that would succeed on every version: what do you mean by "adding some alternative_1.out" file ?
If some pg_regress sql/foo.sql regression test file has two valid results, you can create expected/foo.out and expected/foo_1.out and pg_regress will figure out if the produced results/foo.out file will match either of these. (And if not, it will show you the smaller diff.)
See the link I posted above for the actual files I added. (Unfortunately there's no way to add comments to the *.out files, the only way to tell what they are good for is diffing foo.out and foo_1.out, or to add some README file in that directory.)
Ah that makes sense, I didn't know about that feature.
I just used the 1.3.4 version with PostgreSQL 9.6 and everything works fine.
@j0k3r: I'm still seeing the same regression failure as quoted above. Did you run the regression tests?
Hi,
Getting this with 1.3.2:
Regards, Devrim