regression: select_views.sql
I got different results for the second query
(SELECT * FROM iexit ORDER BY 1, 2;) when using -S 64 (on-disk sorting)
and -S 8192 (in-memory).
Could it be caused by this _wrong_ line in pg_operator.h:
DATA(insert OID = 793 ( "<" PGUID 0 b t f 602 602 701 ... path_n_lt ...
^^^
this is float8 but path_n_lt() returns bool...
The same for all path_n_* funcs (may be others too)...
Vadim
I got different results for the second query
(SELECT * FROM iexit ORDER BY 1, 2;) when using -S 64 (on-disk sorting)
and -S 8192 (in-memory).
Could it be caused by this _wrong_ line in pg_operator.h:DATA(insert OID = 793 ( "<" PGUID 0 b t f 602 602 701 ... path_n_lt ...
^^^
this is float8 but path_n_lt() returns bool...The same for all path_n_* funcs (may be others too)...
I'll fix this...
Thomas G. Lockhart wrote:
DATA(insert OID = 793 ( "<" PGUID 0 b t f 602 602 701 ... path_n_lt ...
^^^
this is float8 but path_n_lt() returns bool...The same for all path_n_* funcs (may be others too)...
I'll fix this...
Nice. There are other invalids:
vac=> select oprname, oprcode from pg_operator where oprcanhash and oprname <> '=';
oprname|oprcode
-------+------------
~= |intervalsame
^^^^^^^^^^^^^^^^^^^^ ok, but others are not!
<> |intervalne
< |intervallt
|intervalgt
<= |intervalle
= |intervalge
(6 rows)
(BTW, oprcanhash can be used to let know does operator mean EQUALity...
I'd like to use this for subselects)
Vadim
Vadim B. Mikheev wrote:
Thomas G. Lockhart wrote:
DATA(insert OID = 793 ( "<" PGUID 0 b t f 602 602 701 ... path_n_lt ...
^^^
this is float8 but path_n_lt() returns bool...The same for all path_n_* funcs (may be others too)...
I'll fix this...
Nice. There are other invalids:
vac=> select oprname, oprcode from pg_operator where oprcanhash and oprname <> '=';
oprname|oprcode
-------+------------
~= |intervalsame
^^^^^^^^^^^^^^^^^^^^ ok, but others are not!
<> |intervalne
< |intervallt|intervalgt
<= |intervalle
= |intervalge
(6 rows)
Hmm. Those look like they support the "time interval" type, which I haven't been updating
because it is based on abstime; I'm more interested in the wider-range/more-precise
datetime-based stuff. I would think about rewriting the time interval routines, but
assume it was used somewhere in the backend to support time travel. Don't know if it is
still in there somewhere...
- Tom
Thomas G. Lockhart wrote:
vac=> select oprname, oprcode from pg_operator where oprcanhash and oprname <> '=';
oprname|oprcode
-------+------------
~= |intervalsame
^^^^^^^^^^^^^^^^^^^^ ok, but others are not!
<> |intervalne
< |intervallt|intervalgt
<= |intervalle
= |intervalge
(6 rows)
Hmm. Those look like they support the "time interval" type, which I haven't been updating
because it is based on abstime; I'm more interested in the wider-range/more-precise
datetime-based stuff. I would think about rewriting the time interval routines, but
assume it was used somewhere in the backend to support time travel. Don't know if it is
still in there somewhere...
I just say that all these <>, <, >, >=, <= must have FALSE in oprcanhash.
Having TRUE for them is bug.
Vadim