review of: collation for (expr)

Started by probabbleover 14 years ago4 messageshackers
Jump to latest
#1probabble
probabble@gmail.com

Compiling on Ubuntu 10.04 LTS AMD64 on a GoGrid virtual machine from
2012-01-12 checkout.

Bison upgraded to v2.5, and downgraded to v2.4.1

Make process for both versions resulted in the following errors:

make[3]: Leaving directory `/usr/local/src/pgbuild/src/backend/catalog'
make -C parser gram.h
make[3]: Entering directory `/usr/local/src/pgbuild/src/backend/parser'
/usr/local/bin/bison -d -o gram.c gram.y
gram.y: conflicts: 370 reduce/reduce
gram.y: expected 0 reduce/reduce conflicts
gram.y:10482.27-10494.33: warning: rule useless in parser due to conflicts:
func_expr: COLLATION FOR '(' a_expr ')'
make[3]: *** [gram.c] Error 1
make[3]: Leaving directory `/usr/local/src/pgbuild/src/backend/parser'
make[2]: *** [parser/gram.h] Error 2
make[2]: Leaving directory `/usr/local/src/pgbuild/src/backend'
make[1]: *** [all-backend-recurse] Error 2
make[1]: Leaving directory `/usr/local/src/pgbuild/src'
make: *** [all-src-recurse] Error 2

#2Peter Eisentraut
peter_e@gmx.net
In reply to: probabble (#1)
Re: review of: collation for (expr)

On tor, 2012-01-12 at 21:25 -0800, probabble wrote:

Compiling on Ubuntu 10.04 LTS AMD64 on a GoGrid virtual machine from
2012-01-12 checkout.

Bison upgraded to v2.5, and downgraded to v2.4.1

Make process for both versions resulted in the following errors:

make[3]: Leaving directory `/usr/local/src/pgbuild/src/backend/catalog'
make -C parser gram.h
make[3]: Entering directory `/usr/local/src/pgbuild/src/backend/parser'
/usr/local/bin/bison -d -o gram.c gram.y
gram.y: conflicts: 370 reduce/reduce
gram.y: expected 0 reduce/reduce conflicts
gram.y:10482.27-10494.33: warning: rule useless in parser due to conflicts:
func_expr: COLLATION FOR '(' a_expr ')'
make[3]: *** [gram.c] Error 1

I can't reproduce that.

In the meantime, attached is a re-merged version of the patch; the old
version doesn't apply cleanly anymore.

Attachments:

collation-for.patchtext/x-patch; charset=UTF-8; name=collation-for.patchDownload+103-2
#3Jaime Casanova
jcasanov@systemguards.com.ec
In reply to: Peter Eisentraut (#2)
Re: review of: collation for (expr)

On Thu, Jan 19, 2012 at 1:50 PM, Peter Eisentraut <peter_e@gmx.net> wrote:

On tor, 2012-01-12 at 21:25 -0800, probabble wrote:

Compiling on Ubuntu 10.04 LTS AMD64 on a GoGrid virtual machine from
2012-01-12 checkout.

Bison upgraded to v2.5, and downgraded to v2.4.1

Make process for both versions resulted in the following errors:

make[3]: Leaving directory `/usr/local/src/pgbuild/src/backend/catalog'
make -C parser gram.h
make[3]: Entering directory `/usr/local/src/pgbuild/src/backend/parser'
/usr/local/bin/bison -d  -o gram.c gram.y
gram.y: conflicts: 370 reduce/reduce
gram.y: expected 0 reduce/reduce conflicts
gram.y:10482.27-10494.33: warning: rule useless in parser due to conflicts:
func_expr: COLLATION FOR '(' a_expr ')'
make[3]: *** [gram.c] Error 1

I can't reproduce that.

me neither

In the meantime, attached is a re-merged version of the patch; the old
version doesn't apply cleanly anymore.

besides a clash in the oid and the value of leakproof missing in the
pg_proc entry, everything works fine.

The only thing is that i don't see a reason for these includes in
src/backend/utils/adt/misc.c:

+ #include "nodes/nodeFuncs.h"
+ #include "utils/lsyscache.h"

--
Jaime Casanova         www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación

#4Peter Eisentraut
peter_e@gmx.net
In reply to: Jaime Casanova (#3)
Re: review of: collation for (expr)

On tor, 2012-03-01 at 20:30 -0500, Jaime Casanova wrote:

besides a clash in the oid and the value of leakproof missing in the
pg_proc entry, everything works fine.

Fixed.

The only thing is that i don't see a reason for these includes in
src/backend/utils/adt/misc.c:

+ #include "nodes/nodeFuncs.h"
+ #include "utils/lsyscache.h"

lsyscache.h is necessary for type_is_collatable(), but the other was
probably left over from a previous attempt.

Committed with these changes.