summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian1998-09-01 04:40:42 +0000
committerBruce Momjian1998-09-01 04:40:42 +0000
commitfa1a8d6a97068295fe30ac646aec7493a6305bc2 (patch)
tree645f7cef3c78fbab4d6d7bbc7c9a61ad2893d273
parentaf74855a608da4cd7ef88ceb2241ec1c75537f39 (diff)
OK, folks, here is the pgindent output.
-rw-r--r--src/backend/access/common/heaptuple.c5
-rw-r--r--src/backend/access/common/printtup.c6
-rw-r--r--src/backend/access/common/tupdesc.c4
-rw-r--r--src/backend/access/gist/gist.c42
-rw-r--r--src/backend/access/gist/gistget.c6
-rw-r--r--src/backend/access/gist/gistscan.c9
-rw-r--r--src/backend/access/hash/hash.c10
-rw-r--r--src/backend/access/hash/hashfunc.c10
-rw-r--r--src/backend/access/heap/heapam.c41
-rw-r--r--src/backend/access/index/indexam.c6
-rw-r--r--src/backend/access/index/istrat.c31
-rw-r--r--src/backend/access/nbtree/nbtcompare.c9
-rw-r--r--src/backend/access/nbtree/nbtinsert.c4
-rw-r--r--src/backend/access/nbtree/nbtree.c83
-rw-r--r--src/backend/access/nbtree/nbtscan.c18
-rw-r--r--src/backend/access/nbtree/nbtsearch.c15
-rw-r--r--src/backend/access/nbtree/nbtsort.c20
-rw-r--r--src/backend/access/rtree/rtget.c5
-rw-r--r--src/backend/access/rtree/rtree.c32
-rw-r--r--src/backend/access/rtree/rtscan.c11
-rw-r--r--src/backend/access/rtree/rtstrat.c5
-rw-r--r--src/backend/access/transam/transam.c5
-rw-r--r--src/backend/access/transam/transsup.c8
-rw-r--r--src/backend/access/transam/varsup.c10
-rw-r--r--src/backend/access/transam/xact.c4
-rw-r--r--src/backend/bootstrap/bootstrap.c7
-rw-r--r--src/backend/catalog/aclchk.c52
-rw-r--r--src/backend/catalog/catalog.c6
-rw-r--r--src/backend/catalog/heap.c53
-rw-r--r--src/backend/catalog/index.c118
-rw-r--r--src/backend/catalog/indexing.c18
-rw-r--r--src/backend/catalog/pg_aggregate.c4
-rw-r--r--src/backend/catalog/pg_operator.c25
-rw-r--r--src/backend/catalog/pg_proc.c3
-rw-r--r--src/backend/catalog/pg_type.c26
-rw-r--r--src/backend/commands/_deadcode/version.c6
-rw-r--r--src/backend/commands/async.c76
-rw-r--r--src/backend/commands/cluster.c9
-rw-r--r--src/backend/commands/command.c10
-rw-r--r--src/backend/commands/copy.c68
-rw-r--r--src/backend/commands/creatinh.c7
-rw-r--r--src/backend/commands/dbcommands.c19
-rw-r--r--src/backend/commands/defind.c26
-rw-r--r--src/backend/commands/explain.c12
-rw-r--r--src/backend/commands/proclang.c4
-rw-r--r--src/backend/commands/recipe.c42
-rw-r--r--src/backend/commands/remove.c50
-rw-r--r--src/backend/commands/rename.c46
-rw-r--r--src/backend/commands/sequence.c29
-rw-r--r--src/backend/commands/trigger.c13
-rw-r--r--src/backend/commands/user.c10
-rw-r--r--src/backend/commands/vacuum.c81
-rw-r--r--src/backend/commands/variable.c4
-rw-r--r--src/backend/commands/view.c4
-rw-r--r--src/backend/executor/execAmi.c5
-rw-r--r--src/backend/executor/execFlatten.c5
-rw-r--r--src/backend/executor/execMain.c45
-rw-r--r--src/backend/executor/execQual.c19
-rw-r--r--src/backend/executor/execScan.c16
-rw-r--r--src/backend/executor/execUtils.c7
-rw-r--r--src/backend/executor/functions.c11
-rw-r--r--src/backend/executor/nodeAgg.c647
-rw-r--r--src/backend/executor/nodeAppend.c10
-rw-r--r--src/backend/executor/nodeGroup.c5
-rw-r--r--src/backend/executor/nodeHash.c5
-rw-r--r--src/backend/executor/nodeHashjoin.c8
-rw-r--r--src/backend/executor/nodeIndexscan.c108
-rw-r--r--src/backend/executor/nodeMaterial.c4
-rw-r--r--src/backend/executor/nodeMergejoin.c63
-rw-r--r--src/backend/executor/nodeSeqscan.c8
-rw-r--r--src/backend/executor/nodeSubplan.c4
-rw-r--r--src/backend/executor/nodeTee.c36
-rw-r--r--src/backend/executor/spi.c5
-rw-r--r--src/backend/libpq/auth.c8
-rw-r--r--src/backend/libpq/be-fsstubs.c13
-rw-r--r--src/backend/libpq/hba.c10
-rw-r--r--src/backend/libpq/portal.c4
-rw-r--r--src/backend/libpq/pqcomm.c68
-rw-r--r--src/backend/libpq/pqpacket.c5
-rw-r--r--src/backend/libpq/pqsignal.c4
-rw-r--r--src/backend/main/main.c8
-rw-r--r--src/backend/nodes/copyfuncs.c14
-rw-r--r--src/backend/nodes/equalfuncs.c8
-rw-r--r--src/backend/nodes/list.c12
-rw-r--r--src/backend/nodes/outfuncs.c12
-rw-r--r--src/backend/nodes/print.c15
-rw-r--r--src/backend/nodes/readfuncs.c14
-rw-r--r--src/backend/optimizer/geqo/geqo_eval.c70
-rw-r--r--src/backend/optimizer/geqo/geqo_main.c4
-rw-r--r--src/backend/optimizer/geqo/geqo_misc.c6
-rw-r--r--src/backend/optimizer/geqo/geqo_paths.c18
-rw-r--r--src/backend/optimizer/geqo/minspantree.c18
-rw-r--r--src/backend/optimizer/path/allpaths.c25
-rw-r--r--src/backend/optimizer/path/clausesel.c14
-rw-r--r--src/backend/optimizer/path/costsize.c6
-rw-r--r--src/backend/optimizer/path/hashutils.c6
-rw-r--r--src/backend/optimizer/path/indxpath.c230
-rw-r--r--src/backend/optimizer/path/joinpath.c48
-rw-r--r--src/backend/optimizer/path/joinrels.c70
-rw-r--r--src/backend/optimizer/path/joinutils.c16
-rw-r--r--src/backend/optimizer/path/mergeutils.c4
-rw-r--r--src/backend/optimizer/path/orindxpath.c39
-rw-r--r--src/backend/optimizer/path/predmig.c17
-rw-r--r--src/backend/optimizer/path/prune.c20
-rw-r--r--src/backend/optimizer/path/xfunc.c69
-rw-r--r--src/backend/optimizer/plan/createplan.c37
-rw-r--r--src/backend/optimizer/plan/initsplan.c20
-rw-r--r--src/backend/optimizer/plan/planmain.c19
-rw-r--r--src/backend/optimizer/plan/planner.c284
-rw-r--r--src/backend/optimizer/plan/setrefs.c446
-rw-r--r--src/backend/optimizer/plan/subselect.c25
-rw-r--r--src/backend/optimizer/prep/preptlist.c39
-rw-r--r--src/backend/optimizer/prep/prepunion.c25
-rw-r--r--src/backend/optimizer/util/clauseinfo.c12
-rw-r--r--src/backend/optimizer/util/clauses.c8
-rw-r--r--src/backend/optimizer/util/indexnode.c6
-rw-r--r--src/backend/optimizer/util/joininfo.c10
-rw-r--r--src/backend/optimizer/util/keys.c4
-rw-r--r--src/backend/optimizer/util/pathnode.c20
-rw-r--r--src/backend/optimizer/util/plancat.c13
-rw-r--r--src/backend/optimizer/util/relnode.c5
-rw-r--r--src/backend/optimizer/util/tlist.c26
-rw-r--r--src/backend/parser/analyze.c108
-rw-r--r--src/backend/parser/gram.c18450
-rw-r--r--src/backend/parser/keywords.c11
-rw-r--r--src/backend/parser/parse.h455
-rw-r--r--src/backend/parser/parse_agg.c4
-rw-r--r--src/backend/parser/parse_clause.c264
-rw-r--r--src/backend/parser/parse_coerce.c260
-rw-r--r--src/backend/parser/parse_expr.c16
-rw-r--r--src/backend/parser/parse_func.c173
-rw-r--r--src/backend/parser/parse_node.c31
-rw-r--r--src/backend/parser/parse_oper.c191
-rw-r--r--src/backend/parser/parse_relation.c22
-rw-r--r--src/backend/parser/parse_target.c196
-rw-r--r--src/backend/parser/parse_type.c4
-rw-r--r--src/backend/parser/parser.c6
-rw-r--r--src/backend/parser/scan.c2157
-rw-r--r--src/backend/port/dynloader/aix.h4
-rw-r--r--src/backend/port/dynloader/alpha.h4
-rw-r--r--src/backend/port/dynloader/bsd.c2
-rw-r--r--src/backend/port/dynloader/bsd.h4
-rw-r--r--src/backend/port/dynloader/bsdi.h2
-rw-r--r--src/backend/port/dynloader/dgux.h4
-rw-r--r--src/backend/port/dynloader/irix5.h2
-rw-r--r--src/backend/port/dynloader/linux.h4
-rw-r--r--src/backend/port/dynloader/nextstep.h10
-rw-r--r--src/backend/port/dynloader/sco.h4
-rwxr-xr-xsrc/backend/port/dynloader/solaris_i386.h4
-rwxr-xr-xsrc/backend/port/dynloader/solaris_sparc.h4
-rw-r--r--src/backend/port/dynloader/sunos4.h4
-rw-r--r--src/backend/port/dynloader/svr4.h4
-rw-r--r--src/backend/port/dynloader/ultrix4.h4
-rw-r--r--src/backend/port/dynloader/univel.h2
-rw-r--r--src/backend/port/dynloader/unixware.h2
-rw-r--r--src/backend/port/hpux/fixade.h12
-rw-r--r--src/backend/port/hpux/port-protos.h4
-rw-r--r--src/backend/port/snprintf.c41
-rw-r--r--src/backend/port/strcasecmp.c4
-rw-r--r--src/backend/port/strtol.c2
-rw-r--r--src/backend/port/strtoul.c2
-rw-r--r--src/backend/port/sunos4/float.h4
-rw-r--r--src/backend/postmaster/postmaster.c217
-rw-r--r--src/backend/regex/engine.c111
-rw-r--r--src/backend/regex/regcomp.c110
-rw-r--r--src/backend/regex/regerror.c2
-rw-r--r--src/backend/regex/regexec.c28
-rw-r--r--src/backend/regex/regfree.c7
-rw-r--r--src/backend/rewrite/locks.c65
-rw-r--r--src/backend/rewrite/rewriteDefine.c57
-rw-r--r--src/backend/rewrite/rewriteHandler.c234
-rw-r--r--src/backend/rewrite/rewriteManip.c222
-rw-r--r--src/backend/rewrite/rewriteRemove.c19
-rw-r--r--src/backend/rewrite/rewriteSupport.c13
-rw-r--r--src/backend/storage/buffer/buf_init.c6
-rw-r--r--src/backend/storage/buffer/bufmgr.c40
-rw-r--r--src/backend/storage/buffer/freelist.c4
-rw-r--r--src/backend/storage/buffer/s_lock.c38
-rw-r--r--src/backend/storage/file/fd.c4
-rw-r--r--src/backend/storage/ipc/ipc.c35
-rw-r--r--src/backend/storage/ipc/shmem.c53
-rw-r--r--src/backend/storage/ipc/shmqueue.c18
-rw-r--r--src/backend/storage/ipc/sinval.c5
-rw-r--r--src/backend/storage/ipc/sinvaladt.c22
-rw-r--r--src/backend/storage/ipc/spin.c12
-rw-r--r--src/backend/storage/large_object/inv_api.c82
-rw-r--r--src/backend/storage/lmgr/lmgr.c37
-rw-r--r--src/backend/storage/lmgr/lock.c318
-rw-r--r--src/backend/storage/lmgr/multi.c45
-rw-r--r--src/backend/storage/lmgr/proc.c30
-rw-r--r--src/backend/storage/page/bufpage.c7
-rw-r--r--src/backend/storage/smgr/md.c6
-rw-r--r--src/backend/storage/smgr/mm.c6
-rw-r--r--src/backend/storage/smgr/smgr.c8
-rw-r--r--src/backend/tcop/dest.c10
-rw-r--r--src/backend/tcop/fastpath.c6
-rw-r--r--src/backend/tcop/postgres.c218
-rw-r--r--src/backend/tcop/pquery.c4
-rw-r--r--src/backend/tcop/utility.c90
-rw-r--r--src/backend/tioga/Arr_TgRecipe.h12
-rw-r--r--src/backend/tioga/Varray.h2
-rw-r--r--src/backend/tioga/tgRecipe.c5
-rw-r--r--src/backend/tioga/tgRecipe.h6
-rw-r--r--src/backend/utils/adt/acl.c10
-rw-r--r--src/backend/utils/adt/arrayfuncs.c50
-rw-r--r--src/backend/utils/adt/cash.c55
-rw-r--r--src/backend/utils/adt/chunk.c16
-rw-r--r--src/backend/utils/adt/date.c259
-rw-r--r--src/backend/utils/adt/dt.c63
-rw-r--r--src/backend/utils/adt/float.c10
-rw-r--r--src/backend/utils/adt/geo_ops.c71
-rw-r--r--src/backend/utils/adt/int.c4
-rw-r--r--src/backend/utils/adt/int8.c36
-rw-r--r--src/backend/utils/adt/like.c20
-rw-r--r--src/backend/utils/adt/misc.c10
-rw-r--r--src/backend/utils/adt/name.c4
-rw-r--r--src/backend/utils/adt/not_in.c6
-rw-r--r--src/backend/utils/adt/numutils.c4
-rw-r--r--src/backend/utils/adt/oid.c24
-rw-r--r--src/backend/utils/adt/oracle_compat.c12
-rw-r--r--src/backend/utils/adt/regexp.c4
-rw-r--r--src/backend/utils/adt/regproc.c82
-rw-r--r--src/backend/utils/adt/ruleutils.c2136
-rw-r--r--src/backend/utils/adt/selfuncs.c5
-rw-r--r--src/backend/utils/adt/sets.c6
-rw-r--r--src/backend/utils/adt/varchar.c91
-rw-r--r--src/backend/utils/adt/varlena.c92
-rw-r--r--src/backend/utils/adt/version.c13
-rw-r--r--src/backend/utils/cache/catcache.c8
-rw-r--r--src/backend/utils/cache/fcache.c7
-rw-r--r--src/backend/utils/cache/inval.c25
-rw-r--r--src/backend/utils/cache/lsyscache.c8
-rw-r--r--src/backend/utils/cache/relcache.c54
-rw-r--r--src/backend/utils/cache/syscache.c28
-rw-r--r--src/backend/utils/error/assert.c4
-rw-r--r--src/backend/utils/error/elog.c59
-rw-r--r--src/backend/utils/error/exc.c8
-rw-r--r--src/backend/utils/fmgr/fmgr.c4
-rw-r--r--src/backend/utils/hash/dynahash.c6
-rw-r--r--src/backend/utils/init/findbe.c12
-rw-r--r--src/backend/utils/init/miscinit.c13
-rw-r--r--src/backend/utils/init/postinit.c12
-rw-r--r--src/backend/utils/mb/common.c57
-rw-r--r--src/backend/utils/mb/conv.c684
-rw-r--r--src/backend/utils/mb/mbutils.c269
-rw-r--r--src/backend/utils/mb/utftest.c44
-rw-r--r--src/backend/utils/mb/variable.c70
-rw-r--r--src/backend/utils/mb/wchar.c569
-rw-r--r--src/backend/utils/mb/wstrcmp.c22
-rw-r--r--src/backend/utils/mb/wstrncmp.c45
-rw-r--r--src/backend/utils/misc/database.c16
-rw-r--r--src/backend/utils/misc/superuser.c6
-rw-r--r--src/backend/utils/misc/trace.c178
-rw-r--r--src/backend/utils/mmgr/aset.c5
-rw-r--r--src/backend/utils/mmgr/mcxt.c5
-rw-r--r--src/backend/utils/mmgr/palloc.c6
-rw-r--r--src/backend/utils/mmgr/portalmem.c4
-rw-r--r--src/backend/utils/time/tqual.c12
-rw-r--r--src/bin/pg_dump/common.c8
-rw-r--r--src/bin/pg_dump/pg_dump.c55
-rw-r--r--src/bin/pg_dump/pg_dump.h26
-rw-r--r--src/bin/pg_encoding/pg_encoding.c47
-rw-r--r--src/bin/psql/psql.c217
-rw-r--r--src/bin/psql/psqlHelp.h4
-rw-r--r--src/bin/psql/stringutils.c5
-rw-r--r--src/bin/psql/stringutils.h4
-rw-r--r--src/include/access/attnum.h4
-rw-r--r--src/include/access/funcindex.h4
-rw-r--r--src/include/access/genam.h22
-rw-r--r--src/include/access/gist.h11
-rw-r--r--src/include/access/gistscan.h5
-rw-r--r--src/include/access/giststrat.h5
-rw-r--r--src/include/access/hash.h31
-rw-r--r--src/include/access/heapam.h106
-rw-r--r--src/include/access/hio.h7
-rw-r--r--src/include/access/htup.h4
-rw-r--r--src/include/access/ibit.h4
-rw-r--r--src/include/access/iqual.h7
-rw-r--r--src/include/access/istrat.h19
-rw-r--r--src/include/access/itup.h13
-rw-r--r--src/include/access/nbtree.h55
-rw-r--r--src/include/access/printtup.h4
-rw-r--r--src/include/access/relscan.h4
-rw-r--r--src/include/access/rtree.h19
-rw-r--r--src/include/access/rtscan.h4
-rw-r--r--src/include/access/rtstrat.h7
-rw-r--r--src/include/access/sdir.h4
-rw-r--r--src/include/access/skey.h7
-rw-r--r--src/include/access/strat.h6
-rw-r--r--src/include/access/transam.h25
-rw-r--r--src/include/access/tupdesc.h11
-rw-r--r--src/include/access/valid.h4
-rw-r--r--src/include/access/xact.h24
-rw-r--r--src/include/bootstrap/bootstrap.h7
-rw-r--r--src/include/c.h38
-rw-r--r--src/include/catalog/catalog.h4
-rw-r--r--src/include/catalog/catname.h4
-rw-r--r--src/include/catalog/heap.h8
-rw-r--r--src/include/catalog/index.h19
-rw-r--r--src/include/catalog/indexing.h16
-rw-r--r--src/include/catalog/pg_aggregate.h12
-rw-r--r--src/include/catalog/pg_am.h4
-rw-r--r--src/include/catalog/pg_amop.h10
-rw-r--r--src/include/catalog/pg_amproc.h6
-rw-r--r--src/include/catalog/pg_attrdef.h2
-rw-r--r--src/include/catalog/pg_attribute.h62
-rw-r--r--src/include/catalog/pg_class.h4
-rw-r--r--src/include/catalog/pg_database.h5
-rw-r--r--src/include/catalog/pg_description.h6
-rw-r--r--src/include/catalog/pg_group.h4
-rw-r--r--src/include/catalog/pg_index.h4
-rw-r--r--src/include/catalog/pg_inheritproc.h4
-rw-r--r--src/include/catalog/pg_inherits.h4
-rw-r--r--src/include/catalog/pg_ipl.h4
-rw-r--r--src/include/catalog/pg_language.h4
-rw-r--r--src/include/catalog/pg_listener.h4
-rw-r--r--src/include/catalog/pg_log.h4
-rw-r--r--src/include/catalog/pg_opclass.h4
-rw-r--r--src/include/catalog/pg_operator.h67
-rw-r--r--src/include/catalog/pg_parg.h4
-rw-r--r--src/include/catalog/pg_proc.h73
-rw-r--r--src/include/catalog/pg_relcheck.h2
-rw-r--r--src/include/catalog/pg_rewrite.h4
-rw-r--r--src/include/catalog/pg_shadow.h6
-rw-r--r--src/include/catalog/pg_statistic.h4
-rw-r--r--src/include/catalog/pg_trigger.h2
-rw-r--r--src/include/catalog/pg_type.h13
-rw-r--r--src/include/catalog/pg_variable.h4
-rw-r--r--src/include/catalog/pg_version.h4
-rw-r--r--src/include/commands/async.h4
-rw-r--r--src/include/commands/cluster.h4
-rw-r--r--src/include/commands/command.h10
-rw-r--r--src/include/commands/copy.h7
-rw-r--r--src/include/commands/creatinh.h4
-rw-r--r--src/include/commands/dbcommands.h4
-rw-r--r--src/include/commands/defrem.h13
-rw-r--r--src/include/commands/explain.h4
-rw-r--r--src/include/commands/proclang.h2
-rw-r--r--src/include/commands/recipe.h4
-rw-r--r--src/include/commands/rename.h10
-rw-r--r--src/include/commands/sequence.h4
-rw-r--r--src/include/commands/trigger.h2
-rw-r--r--src/include/commands/user.h2
-rw-r--r--src/include/commands/vacuum.h14
-rw-r--r--src/include/commands/variable.h4
-rw-r--r--src/include/commands/version.h4
-rw-r--r--src/include/commands/view.h4
-rw-r--r--src/include/executor/execFlatten.h4
-rw-r--r--src/include/executor/execdebug.h22
-rw-r--r--src/include/executor/execdefs.h4
-rw-r--r--src/include/executor/execdesc.h7
-rw-r--r--src/include/executor/executor.h57
-rw-r--r--src/include/executor/functions.h10
-rw-r--r--src/include/executor/hashjoin.h4
-rw-r--r--src/include/executor/nodeAgg.h4
-rw-r--r--src/include/executor/nodeAppend.h4
-rw-r--r--src/include/executor/nodeGroup.h4
-rw-r--r--src/include/executor/nodeHash.h13
-rw-r--r--src/include/executor/nodeHashjoin.h7
-rw-r--r--src/include/executor/nodeIndexscan.h4
-rw-r--r--src/include/executor/nodeMaterial.h4
-rw-r--r--src/include/executor/nodeMergejoin.h4
-rw-r--r--src/include/executor/nodeNestloop.h4
-rw-r--r--src/include/executor/nodeResult.h4
-rw-r--r--src/include/executor/nodeSeqscan.h4
-rw-r--r--src/include/executor/nodeSort.h4
-rw-r--r--src/include/executor/nodeSubplan.h2
-rw-r--r--src/include/executor/nodeTee.h4
-rw-r--r--src/include/executor/nodeUnique.h4
-rw-r--r--src/include/executor/spi.h5
-rw-r--r--src/include/executor/tuptable.h4
-rw-r--r--src/include/lib/dllist.h4
-rw-r--r--src/include/lib/fstack.h4
-rw-r--r--src/include/lib/hasht.h4
-rw-r--r--src/include/lib/lispsort.h4
-rw-r--r--src/include/lib/qsort.h7
-rw-r--r--src/include/lib/stringinfo.h4
-rw-r--r--src/include/libpq/auth.h4
-rw-r--r--src/include/libpq/be-fsstubs.h4
-rw-r--r--src/include/libpq/hba.h8
-rw-r--r--src/include/libpq/libpq-be.h14
-rw-r--r--src/include/libpq/libpq-fs.h10
-rw-r--r--src/include/libpq/libpq.h28
-rw-r--r--src/include/libpq/pqcomm.h21
-rw-r--r--src/include/libpq/pqsignal.h4
-rw-r--r--src/include/mb/pg_wchar.h140
-rw-r--r--src/include/miscadmin.h15
-rw-r--r--src/include/nodes/execnodes.h32
-rw-r--r--src/include/nodes/makefuncs.h18
-rw-r--r--src/include/nodes/memnodes.h4
-rw-r--r--src/include/nodes/nodeFuncs.h4
-rw-r--r--src/include/nodes/nodes.h12
-rw-r--r--src/include/nodes/params.h4
-rw-r--r--src/include/nodes/parsenodes.h15
-rw-r--r--src/include/nodes/pg_list.h4
-rw-r--r--src/include/nodes/plannodes.h16
-rw-r--r--src/include/nodes/primnodes.h4
-rw-r--r--src/include/nodes/print.h7
-rw-r--r--src/include/nodes/readfuncs.h4
-rw-r--r--src/include/nodes/relation.h14
-rw-r--r--src/include/optimizer/clauseinfo.h12
-rw-r--r--src/include/optimizer/clauses.h10
-rw-r--r--src/include/optimizer/cost.h23
-rw-r--r--src/include/optimizer/geqo.h6
-rw-r--r--src/include/optimizer/geqo_copy.h4
-rw-r--r--src/include/optimizer/geqo_gene.h4
-rw-r--r--src/include/optimizer/geqo_misc.h6
-rw-r--r--src/include/optimizer/geqo_mutation.h4
-rw-r--r--src/include/optimizer/geqo_paths.h6
-rw-r--r--src/include/optimizer/geqo_pool.h4
-rw-r--r--src/include/optimizer/geqo_random.h4
-rw-r--r--src/include/optimizer/geqo_recombination.h4
-rw-r--r--src/include/optimizer/geqo_selection.h4
-rw-r--r--src/include/optimizer/internal.h4
-rw-r--r--src/include/optimizer/joininfo.h6
-rw-r--r--src/include/optimizer/keys.h6
-rw-r--r--src/include/optimizer/ordering.h13
-rw-r--r--src/include/optimizer/pathnode.h25
-rw-r--r--src/include/optimizer/paths.h32
-rw-r--r--src/include/optimizer/plancat.h19
-rw-r--r--src/include/optimizer/planmain.h26
-rw-r--r--src/include/optimizer/planner.h4
-rw-r--r--src/include/optimizer/prep.h10
-rw-r--r--src/include/optimizer/subselect.h2
-rw-r--r--src/include/optimizer/tlist.h6
-rw-r--r--src/include/optimizer/var.h4
-rw-r--r--src/include/optimizer/xfunc.h18
-rw-r--r--src/include/parser/analyze.h4
-rw-r--r--src/include/parser/gramparse.h4
-rw-r--r--src/include/parser/keywords.h4
-rw-r--r--src/include/parser/parse_agg.h7
-rw-r--r--src/include/parser/parse_clause.h10
-rw-r--r--src/include/parser/parse_coerce.h17
-rw-r--r--src/include/parser/parse_expr.h4
-rw-r--r--src/include/parser/parse_func.h14
-rw-r--r--src/include/parser/parse_node.h13
-rw-r--r--src/include/parser/parse_oper.h4
-rw-r--r--src/include/parser/parse_relation.h16
-rw-r--r--src/include/parser/parse_target.h20
-rw-r--r--src/include/parser/parse_type.h4
-rw-r--r--src/include/parser/parser.h4
-rw-r--r--src/include/parser/parsetree.h4
-rw-r--r--src/include/parser/scansup.h4
-rw-r--r--src/include/port/linux.h3
-rwxr-xr-xsrc/include/port/solaris_i386.h6
-rw-r--r--src/include/port/univel.h2
-rw-r--r--src/include/port/unixware.h4
-rw-r--r--src/include/postgres.h6
-rw-r--r--src/include/regex/cdefs.h12
-rw-r--r--src/include/regex/regex.h9
-rw-r--r--src/include/regex/regex2.h14
-rw-r--r--src/include/regex/regexp.h2
-rw-r--r--src/include/rewrite/locks.h7
-rw-r--r--src/include/rewrite/prs2lock.h4
-rw-r--r--src/include/rewrite/rewriteDefine.h4
-rw-r--r--src/include/rewrite/rewriteHandler.h4
-rw-r--r--src/include/rewrite/rewriteManip.h15
-rw-r--r--src/include/rewrite/rewriteRemove.h4
-rw-r--r--src/include/rewrite/rewriteSupport.h7
-rw-r--r--src/include/rusagestub.h4
-rw-r--r--src/include/storage/backendid.h4
-rw-r--r--src/include/storage/block.h4
-rw-r--r--src/include/storage/buf.h4
-rw-r--r--src/include/storage/buf_internals.h15
-rw-r--r--src/include/storage/bufmgr.h10
-rw-r--r--src/include/storage/bufpage.h7
-rw-r--r--src/include/storage/fd.h4
-rw-r--r--src/include/storage/ipc.h16
-rw-r--r--src/include/storage/item.h4
-rw-r--r--src/include/storage/itemid.h4
-rw-r--r--src/include/storage/itempos.h4
-rw-r--r--src/include/storage/itemptr.h4
-rw-r--r--src/include/storage/large_object.h4
-rw-r--r--src/include/storage/lmgr.h28
-rw-r--r--src/include/storage/lock.h33
-rw-r--r--src/include/storage/multilev.h24
-rw-r--r--src/include/storage/off.h4
-rw-r--r--src/include/storage/page.h4
-rw-r--r--src/include/storage/pagenum.h4
-rw-r--r--src/include/storage/pos.h4
-rw-r--r--src/include/storage/proc.h18
-rw-r--r--src/include/storage/s_lock.h120
-rw-r--r--src/include/storage/shmem.h19
-rw-r--r--src/include/storage/sinval.h7
-rw-r--r--src/include/storage/sinvaladt.h7
-rw-r--r--src/include/storage/smgr.h22
-rw-r--r--src/include/storage/spin.h4
-rw-r--r--src/include/tcop/dest.h7
-rw-r--r--src/include/tcop/fastpath.h4
-rw-r--r--src/include/tcop/pquery.h9
-rw-r--r--src/include/tcop/tcopdebug.h4
-rw-r--r--src/include/tcop/tcopprot.h13
-rw-r--r--src/include/tcop/utility.h4
-rw-r--r--src/include/utils/acl.h13
-rw-r--r--src/include/utils/array.h28
-rw-r--r--src/include/utils/bit.h4
-rw-r--r--src/include/utils/builtins.h14
-rw-r--r--src/include/utils/cash.h2
-rw-r--r--src/include/utils/catcache.h16
-rw-r--r--src/include/utils/datetime.h4
-rw-r--r--src/include/utils/datum.h7
-rw-r--r--src/include/utils/dt.h18
-rw-r--r--src/include/utils/dynahash.h4
-rw-r--r--src/include/utils/dynamic_loader.h6
-rw-r--r--src/include/utils/elog.h4
-rw-r--r--src/include/utils/exc.h10
-rw-r--r--src/include/utils/excid.h4
-rw-r--r--src/include/utils/fcache.h4
-rw-r--r--src/include/utils/fcache2.h4
-rw-r--r--src/include/utils/fmgrtab.h4
-rw-r--r--src/include/utils/geo_decls.h10
-rw-r--r--src/include/utils/hsearch.h7
-rw-r--r--src/include/utils/int8.h16
-rw-r--r--src/include/utils/inval.h4
-rw-r--r--src/include/utils/lselect.h15
-rw-r--r--src/include/utils/lsyscache.h7
-rw-r--r--src/include/utils/mcxt.h7
-rw-r--r--src/include/utils/memutils.h9
-rw-r--r--src/include/utils/module.h4
-rw-r--r--src/include/utils/nabstime.h6
-rw-r--r--src/include/utils/palloc.h4
-rw-r--r--src/include/utils/portal.h7
-rw-r--r--src/include/utils/ps_status.h10
-rw-r--r--src/include/utils/psort.h4
-rw-r--r--src/include/utils/rel.h7
-rw-r--r--src/include/utils/rel2.h7
-rw-r--r--src/include/utils/relcache.h4
-rw-r--r--src/include/utils/sets.h4
-rw-r--r--src/include/utils/syscache.h23
-rw-r--r--src/include/utils/tqual.h24
-rw-r--r--src/include/utils/trace.h51
-rw-r--r--src/interfaces/ecpg/include/ecpgerrno.h6
-rw-r--r--src/interfaces/ecpg/include/ecpglib.h44
-rw-r--r--src/interfaces/ecpg/include/ecpgtype.h32
-rw-r--r--src/interfaces/ecpg/include/sqlca.h73
-rw-r--r--src/interfaces/ecpg/lib/ecpglib.c970
-rw-r--r--src/interfaces/ecpg/lib/typename.c2
-rw-r--r--src/interfaces/ecpg/preproc/ecpg.c60
-rw-r--r--src/interfaces/ecpg/preproc/ecpg_keywords.c4
-rw-r--r--src/interfaces/ecpg/preproc/extern.h70
-rw-r--r--src/interfaces/ecpg/preproc/type.c331
-rw-r--r--src/interfaces/ecpg/preproc/type.h18
-rw-r--r--src/interfaces/libpgtcl/libpgtcl.h4
-rw-r--r--src/interfaces/libpgtcl/pgtcl.c201
-rw-r--r--src/interfaces/libpgtcl/pgtclCmds.c1512
-rw-r--r--src/interfaces/libpgtcl/pgtclCmds.h86
-rw-r--r--src/interfaces/libpgtcl/pgtclId.c975
-rw-r--r--src/interfaces/libpgtcl/pgtclId.h51
-rw-r--r--src/interfaces/libpq/fe-auth.c25
-rw-r--r--src/interfaces/libpq/fe-auth.h9
-rw-r--r--src/interfaces/libpq/fe-connect.c237
-rw-r--r--src/interfaces/libpq/fe-exec.c258
-rw-r--r--src/interfaces/libpq/fe-lobj.c4
-rw-r--r--src/interfaces/libpq/fe-misc.c121
-rw-r--r--src/interfaces/libpq/fe-print.c47
-rw-r--r--src/interfaces/libpq/libpq-fe.h124
-rw-r--r--src/interfaces/libpq/libpq-int.h44
-rw-r--r--src/interfaces/libpq/libpqdll.c6
-rw-r--r--src/interfaces/libpq/pqsignal.c4
-rw-r--r--src/interfaces/libpq/pqsignal.h4
-rw-r--r--src/interfaces/libpq/win32.h2
-rw-r--r--src/interfaces/python/pgmodule.c30
-rw-r--r--src/pl/plpgsql/src/pl_comp.c2200
-rw-r--r--src/pl/plpgsql/src/pl_exec.c3657
-rw-r--r--src/pl/plpgsql/src/pl_funcs.c949
-rw-r--r--src/pl/plpgsql/src/pl_handler.c239
-rw-r--r--src/pl/plpgsql/src/plpgsql.h637
-rw-r--r--src/pl/tcl/pltcl.c45
-rw-r--r--src/test/examples/testlibpq.c6
-rw-r--r--src/test/locale/test-ctype.c69
-rw-r--r--src/test/locale/test-pgsql-locale.c18
-rwxr-xr-xsrc/tools/pgindent/pgindent2
-rw-r--r--src/tutorial/funcs.c7
-rw-r--r--src/utils/getopt.c92
574 files changed, 26547 insertions, 24071 deletions
diff --git a/src/backend/access/common/heaptuple.c b/src/backend/access/common/heaptuple.c
index 432bfe02ab..20b075d99b 100644
--- a/src/backend/access/common/heaptuple.c
+++ b/src/backend/access/common/heaptuple.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.40 1998/09/01 03:20:41 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.41 1998/09/01 04:26:39 momjian Exp $
*
* NOTES
* The old interface functions have been converted to macros
@@ -935,7 +935,8 @@ heap_modifytuple(HeapTuple tuple,
(char *) &tuple->t_oid,
((char *) &tuple->t_hoff - (char *) &tuple->t_oid)); /* XXX */
newTuple->t_infomask = infomask;
- newTuple->t_natts = numberOfAttributes; /* fix t_natts just in case */
+ newTuple->t_natts = numberOfAttributes; /* fix t_natts just in
+ * case */
return newTuple;
}
diff --git a/src/backend/access/common/printtup.c b/src/backend/access/common/printtup.c
index d9b37bcf87..68459beb01 100644
--- a/src/backend/access/common/printtup.c
+++ b/src/backend/access/common/printtup.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/common/printtup.c,v 1.34 1998/09/01 03:20:45 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/common/printtup.c,v 1.35 1998/09/01 04:26:40 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -82,8 +82,10 @@ printtup(HeapTuple tuple, TupleDesc typeinfo)
Datum attr;
bool isnull;
Oid typoutput;
+
#ifdef MULTIBYTE
unsigned char *p;
+
#endif
/* ----------------
@@ -147,7 +149,7 @@ printtup(HeapTuple tuple, TupleDesc typeinfo)
outputstr = "<unprintable>";
pq_putint(strlen(outputstr) + VARHDRSZ, VARHDRSZ);
pq_putnchar(outputstr, strlen(outputstr));
- }
+ }
}
}
diff --git a/src/backend/access/common/tupdesc.c b/src/backend/access/common/tupdesc.c
index df51228305..4e33e362a1 100644
--- a/src/backend/access/common/tupdesc.c
+++ b/src/backend/access/common/tupdesc.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.43 1998/09/01 03:20:46 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.44 1998/09/01 04:26:41 momjian Exp $
*
* NOTES
* some of the executor utility code such as "ExecTypeFromTL" should be
@@ -75,7 +75,7 @@ CreateTemplateTupleDesc(int natts)
* ----------------------------------------------------------------
*/
TupleDesc
-CreateTupleDesc(int natts, Form_pg_attribute *attrs)
+CreateTupleDesc(int natts, Form_pg_attribute * attrs)
{
TupleDesc desc;
diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c
index f316ba2b3c..cb5917b206 100644
--- a/src/backend/access/gist/gist.c
+++ b/src/backend/access/gist/gist.c
@@ -33,42 +33,32 @@
#endif
/* non-export function prototypes */
-static InsertIndexResult
-gistdoinsert(Relation r, IndexTuple itup,
+static InsertIndexResult gistdoinsert(Relation r, IndexTuple itup,
GISTSTATE *GISTstate);
-static InsertIndexResult
-gistentryinsert(Relation r, GISTSTACK *stk,
+static InsertIndexResult gistentryinsert(Relation r, GISTSTACK *stk,
IndexTuple tup,
GISTSTATE *giststate);
-static void
-gistentryinserttwo(Relation r, GISTSTACK *stk, IndexTuple ltup,
+static void gistentryinserttwo(Relation r, GISTSTACK *stk, IndexTuple ltup,
IndexTuple rtup, GISTSTATE *giststate);
-static void
-gistAdjustKeys(Relation r, GISTSTACK *stk, BlockNumber blk,
+static void gistAdjustKeys(Relation r, GISTSTACK *stk, BlockNumber blk,
char *datum, int att_size, GISTSTATE *giststate);
-static void
-gistintinsert(Relation r, GISTSTACK *stk, IndexTuple ltup,
+static void gistintinsert(Relation r, GISTSTACK *stk, IndexTuple ltup,
IndexTuple rtup, GISTSTATE *giststate);
-static InsertIndexResult
-gistSplit(Relation r, Buffer buffer,
+static InsertIndexResult gistSplit(Relation r, Buffer buffer,
GISTSTACK *stack, IndexTuple itup,
GISTSTATE *giststate);
-static void
-gistnewroot(GISTSTATE *giststate, Relation r, IndexTuple lt,
+static void gistnewroot(GISTSTATE *giststate, Relation r, IndexTuple lt,
IndexTuple rt);
static void GISTInitBuffer(Buffer b, uint32 f);
-static BlockNumber
-gistChooseSubtree(Relation r, IndexTuple itup, int level,
+static BlockNumber gistChooseSubtree(Relation r, IndexTuple itup, int level,
GISTSTATE *giststate,
GISTSTACK **retstack, Buffer *leafbuf);
-static OffsetNumber
-gistchoose(Relation r, Page p, IndexTuple it,
+static OffsetNumber gistchoose(Relation r, Page p, IndexTuple it,
GISTSTATE *giststate);
static int gistnospace(Page p, IndexTuple it);
void gistdelete(Relation r, ItemPointer tid);
static IndexTuple gist_tuple_replacekey(Relation r, GISTENTRY entry, IndexTuple t);
-static void
-gistcentryinit(GISTSTATE *giststate, GISTENTRY *e, char *pr,
+static void gistcentryinit(GISTSTATE *giststate, GISTENTRY *e, char *pr,
Relation r, Page pg, OffsetNumber o, int b, bool l);
static char *int_range_out(INTRANGE *r);
@@ -169,7 +159,7 @@ gistbuild(Relation heap,
slot = NULL;
econtext = NULL;
}
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
/* int the tuples as we insert them */
nh = ni = 0;
@@ -193,7 +183,7 @@ gistbuild(Relation heap,
ni++;
continue;
}
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
/*
@@ -207,7 +197,7 @@ gistbuild(Relation heap,
slot->val = htup;
if (ExecQual((List *) pred, econtext) == false)
continue;
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
ni++;
@@ -286,7 +276,7 @@ gistbuild(Relation heap,
#ifndef OMIT_PARTIAL_INDEX
ExecDestroyTupleTable(tupleTable, true);
pfree(econtext);
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
/*
@@ -1168,7 +1158,7 @@ initGISTstate(GISTSTATE *giststate, Relation index)
itupform = (Form_pg_index) GETSTRUCT(htup);
if (!HeapTupleIsValid(htup))
elog(ERROR, "initGISTstate: index %d not found",
- RelationGetRelid(index));
+ RelationGetRelid(index));
giststate->haskeytype = itupform->indhaskeytype;
if (giststate->haskeytype)
{
@@ -1377,4 +1367,4 @@ int_range_out(INTRANGE *r)
return result;
}
-#endif /* defined GISTDEBUG */
+#endif /* defined GISTDEBUG */
diff --git a/src/backend/access/gist/gistget.c b/src/backend/access/gist/gistget.c
index d34ee84d76..35708bf653 100644
--- a/src/backend/access/gist/gistget.c
+++ b/src/backend/access/gist/gistget.c
@@ -28,15 +28,13 @@
#endif
-static OffsetNumber
-gistfindnext(IndexScanDesc s, Page p, OffsetNumber n,
+static OffsetNumber gistfindnext(IndexScanDesc s, Page p, OffsetNumber n,
ScanDirection dir);
static RetrieveIndexResult gistscancache(IndexScanDesc s, ScanDirection dir);
static RetrieveIndexResult gistfirst(IndexScanDesc s, ScanDirection dir);
static RetrieveIndexResult gistnext(IndexScanDesc s, ScanDirection dir);
static ItemPointer gistheapptr(Relation r, ItemPointer itemp);
-static bool
-gistindex_keytest(IndexTuple tuple, TupleDesc tupdesc,
+static bool gistindex_keytest(IndexTuple tuple, TupleDesc tupdesc,
int scanKeySize, ScanKey key, GISTSTATE *giststate,
Relation r, Page p, OffsetNumber offset);
diff --git a/src/backend/access/gist/gistscan.c b/src/backend/access/gist/gistscan.c
index b440cbc5e9..f74316cb33 100644
--- a/src/backend/access/gist/gistscan.c
+++ b/src/backend/access/gist/gistscan.c
@@ -29,14 +29,11 @@
/* routines defined and used here */
static void gistregscan(IndexScanDesc s);
static void gistdropscan(IndexScanDesc s);
-static void
-gistadjone(IndexScanDesc s, int op, BlockNumber blkno,
+static void gistadjone(IndexScanDesc s, int op, BlockNumber blkno,
OffsetNumber offnum);
-static void
-adjuststack(GISTSTACK *stk, BlockNumber blkno,
+static void adjuststack(GISTSTACK *stk, BlockNumber blkno,
OffsetNumber offnum);
-static void
-adjustiptr(IndexScanDesc s, ItemPointer iptr,
+static void adjustiptr(IndexScanDesc s, ItemPointer iptr,
int op, BlockNumber blkno, OffsetNumber offnum);
/*
diff --git a/src/backend/access/hash/hash.c b/src/backend/access/hash/hash.c
index 2a12171d0b..e6ca98c709 100644
--- a/src/backend/access/hash/hash.c
+++ b/src/backend/access/hash/hash.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/hash/hash.c,v 1.21 1998/09/01 03:20:53 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/hash/hash.c,v 1.22 1998/09/01 04:26:48 momjian Exp $
*
* NOTES
* This file contains only the public interface routines.
@@ -118,7 +118,7 @@ hashbuild(Relation heap,
tupleTable = 0;
slot = 0;
}
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
/* build the index */
nhtups = nitups = 0;
@@ -145,7 +145,7 @@ hashbuild(Relation heap,
nitups++;
continue;
}
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
/*
@@ -159,7 +159,7 @@ hashbuild(Relation heap,
slot->val = htup;
if (ExecQual((List *) pred, econtext) == false)
continue;
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
nitups++;
@@ -232,7 +232,7 @@ hashbuild(Relation heap,
#ifndef OMIT_PARTIAL_INDEX
ExecDestroyTupleTable(tupleTable, true);
pfree(econtext);
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
/*
diff --git a/src/backend/access/hash/hashfunc.c b/src/backend/access/hash/hashfunc.c
index 9376ad2e57..c2f928161a 100644
--- a/src/backend/access/hash/hashfunc.c
+++ b/src/backend/access/hash/hashfunc.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/hash/hashfunc.c,v 1.11 1998/09/01 03:20:54 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/hash/hashfunc.c,v 1.12 1998/09/01 04:26:49 momjian Exp $
*
* NOTES
* These functions are stored in pg_amproc. For each operator class
@@ -136,11 +136,11 @@ hashoid(Oid key)
uint32
hashoid8(Oid *key)
{
- int i;
- uint32 result = 0;
+ int i;
+ uint32 result = 0;
- for (i=0; i < 8; i++)
- result = result ^ (~(uint32)key[i]);
+ for (i = 0; i < 8; i++)
+ result = result ^ (~(uint32) key[i]);
return result;
}
diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index bb98e2800c..3b66dd57b2 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.34 1998/09/01 03:21:05 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.35 1998/09/01 04:26:51 momjian Exp $
*
*
* INTERFACE ROUTINES
@@ -109,10 +109,10 @@ static bool ImmediateInvalidation;
*/
static void
initscan(HeapScanDesc scan,
- Relation relation,
- int atend,
- unsigned nkeys,
- ScanKey key)
+ Relation relation,
+ int atend,
+ unsigned nkeys,
+ ScanKey key)
{
if (!RelationGetNumberOfBlocks(relation))
{
@@ -258,7 +258,7 @@ heapgettup(Relation relation,
elog(DEBUG, "heapgettup: relation(%c)=`%s', %p",
relation->rd_rel->relkind, &relation->rd_rel->relname,
snapshot);
-#endif /* !defined(HEAPDEBUGALL) */
+#endif /* !defined(HEAPDEBUGALL) */
if (!ItemPointerIsValid(tid))
Assert(!PointerIsValid(tid));
@@ -283,12 +283,12 @@ heapgettup(Relation relation,
/* assume it is a valid TID XXX */
if (ItemPointerIsValid(tid) == false)
{
- *buf= InvalidBuffer;
+ *buf = InvalidBuffer;
return NULL;
}
*buf = RelationGetBufferWithBuffer(relation,
- ItemPointerGetBlockNumber(tid),
- *buf);
+ ItemPointerGetBlockNumber(tid),
+ *buf);
#ifndef NO_BUFFERISVALID
if (!BufferIsValid(*buf))
@@ -414,6 +414,7 @@ heapgettup(Relation relation,
if (ItemPointerGetBlockNumber(iptr) != page)
{
+
/*
* set block id to the correct page number --- this is
* a hack to support the virtual fragment concept
@@ -762,7 +763,7 @@ elog(DEBUG, "heap_getnext([%s,nkeys=%d],backw=%d) called", \
#define HEAPDEBUG_5
#define HEAPDEBUG_6
#define HEAPDEBUG_7
-#endif /* !defined(HEAPDEBUGALL) */
+#endif /* !defined(HEAPDEBUGALL) */
HeapTuple
@@ -990,7 +991,7 @@ heap_getnext(HeapScanDesc scandesc, int backw)
* value, and they are required to BuffferRelease() it when they
* are done. If they want to make a copy of it before releasing it,
* they can call heap_copytyple().
-
+
* ----------------
*/
HeapTuple
@@ -1005,8 +1006,8 @@ heap_fetch(Relation relation,
HeapTuple tuple;
OffsetNumber offnum;
- AssertMacro(PointerIsValid(userbuf)); /* see comments above */
-
+ AssertMacro(PointerIsValid(userbuf)); /* see comments above */
+
/* ----------------
* increment access statistics
* ----------------
@@ -1074,7 +1075,8 @@ heap_fetch(Relation relation,
* ----------------
*/
- *userbuf = buffer; /* user is required to ReleaseBuffer() this */
+ *userbuf = buffer; /* user is required to ReleaseBuffer()
+ * this */
return tuple;
}
@@ -1193,7 +1195,7 @@ heap_delete(Relation relation, ItemPointer tid)
{ /* XXX L_SH better ??? */
elog(ERROR, "heap_delete: failed ReadBuffer");
}
-#endif /* NO_BUFFERISVALID */
+#endif /* NO_BUFFERISVALID */
dp = (PageHeader) BufferGetPage(buf);
lp = PageGetItemId(dp, ItemPointerGetOffsetNumber(tid));
@@ -1206,10 +1208,11 @@ heap_delete(Relation relation, ItemPointer tid)
Assert(HeapTupleIsValid(tp));
if (TupleUpdatedByCurXactAndCmd(tp))
{
+
/*
- Vadim says this is no longer needed 1998/6/15
- elog(NOTICE, "Non-functional delete, tuple already deleted");
- */
+ * Vadim says this is no longer needed 1998/6/15 elog(NOTICE,
+ * "Non-functional delete, tuple already deleted");
+ */
if (IsSystemRelationName(RelationGetRelationName(relation)->data))
RelationUnsetLockForWrite(relation);
ReleaseBuffer(buf);
@@ -1309,7 +1312,7 @@ heap_replace(Relation relation, ItemPointer otid, HeapTuple replace_tuple)
/* XXX L_SH better ??? */
elog(ERROR, "amreplace: failed ReadBuffer");
}
-#endif /* NO_BUFFERISVALID */
+#endif /* NO_BUFFERISVALID */
dp = (Page) BufferGetPage(buffer);
lp = PageGetItemId(dp, ItemPointerGetOffsetNumber(otid));
diff --git a/src/backend/access/index/indexam.c b/src/backend/access/index/indexam.c
index fdfbddde91..4c2289ce16 100644
--- a/src/backend/access/index/indexam.c
+++ b/src/backend/access/index/indexam.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/index/indexam.c,v 1.24 1998/09/01 03:21:09 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/index/indexam.c,v 1.25 1998/09/01 04:26:55 momjian Exp $
*
* INTERFACE ROUTINES
* index_open - open an index relation by relationId
@@ -112,7 +112,7 @@
CppAsString(x), CppAsString(y)) \
: (void)NULL \
)
-
+
#define GET_SCAN_PROCEDURE(x,y) \
( \
procedure = scan->relation->rd_am->y, \
@@ -331,7 +331,7 @@ index_getnext(IndexScanDesc scan,
* have the am's gettuple proc do all the work.
* ----------------
*/
- result = (RetrieveIndexResult)fmgr(procedure, scan, direction);
+ result = (RetrieveIndexResult) fmgr(procedure, scan, direction);
return result;
}
diff --git a/src/backend/access/index/istrat.c b/src/backend/access/index/istrat.c
index b92faa655f..403a51f3ba 100644
--- a/src/backend/access/index/istrat.c
+++ b/src/backend/access/index/istrat.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/index/Attic/istrat.c,v 1.27 1998/09/01 03:21:10 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/index/Attic/istrat.c,v 1.28 1998/09/01 04:26:56 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -29,16 +29,13 @@
#ifdef USE_ASSERT_CHECKING
static bool StrategyEvaluationIsValid(StrategyEvaluation evaluation);
-static bool
-StrategyExpressionIsValid(StrategyExpression expression,
+static bool StrategyExpressionIsValid(StrategyExpression expression,
StrategyNumber maxStrategy);
static ScanKey StrategyMapGetScanKeyEntry(StrategyMap map,
StrategyNumber strategyNumber);
-static bool
-StrategyOperatorIsValid(StrategyOperator operator,
+static bool StrategyOperatorIsValid(StrategyOperator operator,
StrategyNumber maxStrategy);
-static bool
-StrategyTermIsValid(StrategyTerm term,
+static bool StrategyTermIsValid(StrategyTerm term,
StrategyNumber maxStrategy);
#endif
@@ -378,8 +375,8 @@ RelationInvokeStrategy(Relation relation,
termData.degree = 1;
strategyMap = IndexStrategyGetStrategyMap(RelationGetIndexStrategy(relation),
- evaluation->maxStrategy,
- attributeNumber);
+ evaluation->maxStrategy,
+ attributeNumber);
entry = StrategyMapGetScanKeyEntry(strategyMap, strategy);
@@ -456,9 +453,7 @@ RelationInvokeStrategy(Relation relation,
}
if (index == (*termP)->degree)
- {
return StrategyTermEvaluate(*termP, strategyMap, left, right);
- }
termP += 1;
}
@@ -494,7 +489,7 @@ OperatorRelationFillScanKeyEntry(Relation operatorRelation,
else
{
ScanKeyData scanKeyData;
-
+
ScanKeyEntryInitialize(&scanKeyData, 0,
ObjectIdAttributeNumber,
F_OIDEQ,
@@ -502,7 +497,7 @@ OperatorRelationFillScanKeyEntry(Relation operatorRelation,
scan = heap_beginscan(operatorRelation, false, SnapshotNow,
1, &scanKeyData);
-
+
tuple = heap_getnext(scan, 0);
}
@@ -521,7 +516,7 @@ OperatorRelationFillScanKeyEntry(Relation operatorRelation,
if (IsBootstrapProcessingMode())
heap_endscan(scan);
-
+
if (!RegProcedureIsValid(entry->sk_procedure))
{
elog(ERROR,
@@ -565,7 +560,7 @@ IndexSupportInitialize(IndexStrategy indexStrategy,
ScanKeyEntryInitialize(&entry[0], 0, Anum_pg_index_indexrelid,
F_OIDEQ,
ObjectIdGetDatum(indexObjectId));
-
+
relation = heap_openr(IndexRelationName);
scan = heap_beginscan(relation, false, SnapshotNow, 1, entry);
tuple = heap_getnext(scan, 0);
@@ -601,7 +596,7 @@ IndexSupportInitialize(IndexStrategy indexStrategy,
heap_endscan(scan);
heap_close(relation);
}
-
+
/* if support routines exist for this access method, load them */
if (maxSupportNumber > 0)
{
@@ -615,7 +610,7 @@ IndexSupportInitialize(IndexStrategy indexStrategy,
relation = heap_openr(AccessMethodProcedureRelationName);
for (attributeNumber = 1; attributeNumber <= maxAttributeNumber;
- attributeNumber++)
+ attributeNumber++)
{
int16 support;
Form_pg_amproc form;
@@ -723,4 +718,4 @@ IndexStrategyDisplay(IndexStrategy indexStrategy,
}
}
-#endif /* defined(ISTRATDEBUG) */
+#endif /* defined(ISTRATDEBUG) */
diff --git a/src/backend/access/nbtree/nbtcompare.c b/src/backend/access/nbtree/nbtcompare.c
index 65db2d3e1a..b4b3156593 100644
--- a/src/backend/access/nbtree/nbtcompare.c
+++ b/src/backend/access/nbtree/nbtcompare.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtcompare.c,v 1.18 1998/09/01 03:21:12 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtcompare.c,v 1.19 1998/09/01 04:26:59 momjian Exp $
*
* NOTES
* These functions are stored in pg_amproc. For each operator class
@@ -87,10 +87,11 @@ btoidcmp(Oid a, Oid b)
int32
btoid8cmp(Oid *a, Oid *b)
{
- int i;
- for (i=0; i < 8; i++)
+ int i;
+
+ for (i = 0; i < 8; i++)
/* we use this because we need the int4gt, etc */
- if (!int4eq(a[i], b[i]))
+ if (!int4eq(a[i], b[i]))
if (int4gt(a[i], b[i]))
return 1;
else
diff --git a/src/backend/access/nbtree/nbtinsert.c b/src/backend/access/nbtree/nbtinsert.c
index f6a34e97ac..c2fa05eb22 100644
--- a/src/backend/access/nbtree/nbtinsert.c
+++ b/src/backend/access/nbtree/nbtinsert.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtinsert.c,v 1.29 1998/09/01 03:21:13 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtinsert.c,v 1.30 1998/09/01 04:27:01 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -54,7 +54,7 @@ _bt_doinsert(Relation rel, BTItem btitem, bool index_is_unique, Relation heapRel
int natts = rel->rd_rel->relnatts;
InsertIndexResult res;
Buffer buffer;
-
+
itup = &(btitem->bti_itup);
/* we need a scan key to do our search, so build one */
diff --git a/src/backend/access/nbtree/nbtree.c b/src/backend/access/nbtree/nbtree.c
index 082cfe3628..d486bb432d 100644
--- a/src/backend/access/nbtree/nbtree.c
+++ b/src/backend/access/nbtree/nbtree.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtree.c,v 1.31 1998/09/01 03:21:16 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtree.c,v 1.32 1998/09/01 04:27:03 momjian Exp $
*
* NOTES
* This file contains only the public interface routines.
@@ -44,7 +44,7 @@ bool BuildingBtree = false; /* see comment in btbuild() */
bool FastBuild = true; /* use sort/build instead of insertion
* build */
-static void _bt_restscan(IndexScanDesc scan);
+static void _bt_restscan(IndexScanDesc scan);
/*
* btbuild() -- build a new btree index.
@@ -151,7 +151,7 @@ btbuild(Relation heap,
*/
usefast = false;
}
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
/* start a heap scan */
/* build the index */
@@ -184,7 +184,7 @@ btbuild(Relation heap,
nitups++;
continue;
}
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
/*
@@ -198,7 +198,7 @@ btbuild(Relation heap,
slot->val = htup;
if (ExecQual((List *) pred, econtext) == false)
continue;
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
nitups++;
@@ -283,7 +283,7 @@ btbuild(Relation heap,
#ifndef OMIT_PARTIAL_INDEX
ExecDestroyTupleTable(tupleTable, true);
pfree(econtext);
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
/*
@@ -361,14 +361,13 @@ btinsert(Relation rel, Datum *datum, char *nulls, ItemPointer ht_ctid, Relation
/*
* See comments in btbuild.
*
- * if (itup->t_info & INDEX_NULL_MASK)
- return (InsertIndexResult) NULL;
+ * if (itup->t_info & INDEX_NULL_MASK) return (InsertIndexResult) NULL;
*/
btitem = _bt_formitem(itup);
res = _bt_doinsert(rel, btitem,
- IndexIsUnique(RelationGetRelid(rel)), heapRel);
+ IndexIsUnique(RelationGetRelid(rel)), heapRel);
pfree(btitem);
pfree(itup);
@@ -397,27 +396,26 @@ btgettuple(IndexScanDesc scan, ScanDirection dir)
if (ItemPointerIsValid(&(scan->currentItemData)))
{
+
/*
* Now we don't adjust scans on insertion (comments in
- * nbtscan.c:_bt_scandel()) and I hope that we will unlock
- * current index page before leaving index in LLL: this
- * means that current index tuple could be moved right
- * before we get here and we have to restore our scan
- * position. We save heap TID pointed by current index
- * tuple and use it. This will work untill we start
- * to re-use (move heap tuples) without vacuum...
- * - vadim 07/29/98
+ * nbtscan.c:_bt_scandel()) and I hope that we will unlock current
+ * index page before leaving index in LLL: this means that current
+ * index tuple could be moved right before we get here and we have
+ * to restore our scan position. We save heap TID pointed by
+ * current index tuple and use it. This will work untill we start
+ * to re-use (move heap tuples) without vacuum... - vadim 07/29/98
*/
_bt_restscan(scan);
res = _bt_next(scan, dir);
}
else
res = _bt_first(scan, dir);
-
+
/* Save heap TID to use it in _bt_restscan */
if (res)
- ((BTScanOpaque)scan->opaque)->curHeapIptr = res->heap_iptr;
-
+ ((BTScanOpaque) scan->opaque)->curHeapIptr = res->heap_iptr;
+
return (char *) res;
}
@@ -627,33 +625,34 @@ btdelete(Relation rel, ItemPointer tid)
static void
_bt_restscan(IndexScanDesc scan)
{
- Relation rel = scan->relation;
- BTScanOpaque so = (BTScanOpaque) scan->opaque;
- Buffer buf = so->btso_curbuf;
- Page page = BufferGetPage(buf);
- ItemPointer current = &(scan->currentItemData);
- OffsetNumber offnum = ItemPointerGetOffsetNumber(current),
- maxoff = PageGetMaxOffsetNumber(page);
- BTPageOpaque opaque = (BTPageOpaque) PageGetSpecialPointer(page);
- ItemPointerData target = so->curHeapIptr;
- BTItem item;
- BlockNumber blkno;
+ Relation rel = scan->relation;
+ BTScanOpaque so = (BTScanOpaque) scan->opaque;
+ Buffer buf = so->btso_curbuf;
+ Page page = BufferGetPage(buf);
+ ItemPointer current = &(scan->currentItemData);
+ OffsetNumber offnum = ItemPointerGetOffsetNumber(current),
+ maxoff = PageGetMaxOffsetNumber(page);
+ BTPageOpaque opaque = (BTPageOpaque) PageGetSpecialPointer(page);
+ ItemPointerData target = so->curHeapIptr;
+ BTItem item;
+ BlockNumber blkno;
if (maxoff >= offnum)
{
- /*
- * if the item is where we left it or has just moved right
- * on this page, we're done
+
+ /*
+ * if the item is where we left it or has just moved right on this
+ * page, we're done
*/
- for ( ;
+ for (;
offnum <= maxoff;
offnum = OffsetNumberNext(offnum))
{
item = (BTItem) PageGetItem(page, PageGetItemId(page, offnum));
if (item->bti_itup.t_tid.ip_blkid.bi_hi == \
- target.ip_blkid.bi_hi && \
+ target.ip_blkid.bi_hi && \
item->bti_itup.t_tid.ip_blkid.bi_lo == \
- target.ip_blkid.bi_lo && \
+ target.ip_blkid.bi_lo && \
item->bti_itup.t_tid.ip_posid == target.ip_posid)
{
current->ip_posid = offnum;
@@ -662,8 +661,8 @@ _bt_restscan(IndexScanDesc scan)
}
}
- /*
- * By here, the item we're looking for moved right at least one page
+ /*
+ * By here, the item we're looking for moved right at least one page
*/
for (;;)
{
@@ -678,15 +677,15 @@ _bt_restscan(IndexScanDesc scan)
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
/* see if it's on this page */
- for (offnum = P_RIGHTMOST(opaque) ? P_HIKEY : P_FIRSTKEY ;
+ for (offnum = P_RIGHTMOST(opaque) ? P_HIKEY : P_FIRSTKEY;
offnum <= maxoff;
offnum = OffsetNumberNext(offnum))
{
item = (BTItem) PageGetItem(page, PageGetItemId(page, offnum));
if (item->bti_itup.t_tid.ip_blkid.bi_hi == \
- target.ip_blkid.bi_hi && \
+ target.ip_blkid.bi_hi && \
item->bti_itup.t_tid.ip_blkid.bi_lo == \
- target.ip_blkid.bi_lo && \
+ target.ip_blkid.bi_lo && \
item->bti_itup.t_tid.ip_posid == target.ip_posid)
{
ItemPointerSet(current, blkno, offnum);
diff --git a/src/backend/access/nbtree/nbtscan.c b/src/backend/access/nbtree/nbtscan.c
index 11b7659376..55869592e4 100644
--- a/src/backend/access/nbtree/nbtscan.c
+++ b/src/backend/access/nbtree/nbtscan.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/nbtree/Attic/nbtscan.c,v 1.17 1998/09/01 03:21:17 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/nbtree/Attic/nbtscan.c,v 1.18 1998/09/01 04:27:04 momjian Exp $
*
*
* NOTES
@@ -166,10 +166,10 @@ _bt_scandel(IndexScanDesc scan, int op, BlockNumber blkno, OffsetNumber offno)
so->btso_curbuf = buf;
if (ItemPointerIsValid(current))
{
- Page page = BufferGetPage(buf);
- BTItem btitem = (BTItem) PageGetItem(page,
- PageGetItemId(page, ItemPointerGetOffsetNumber(current)));
-
+ Page page = BufferGetPage(buf);
+ BTItem btitem = (BTItem) PageGetItem(page,
+ PageGetItemId(page, ItemPointerGetOffsetNumber(current)));
+
so->curHeapIptr = btitem->bti_itup.t_tid;
}
}
@@ -209,10 +209,10 @@ _bt_scandel(IndexScanDesc scan, int op, BlockNumber blkno, OffsetNumber offno)
scan->currentItemData = tmp;
if (ItemPointerIsValid(current))
{
- Page page = BufferGetPage(buf);
- BTItem btitem = (BTItem) PageGetItem(page,
- PageGetItemId(page, ItemPointerGetOffsetNumber(current)));
-
+ Page page = BufferGetPage(buf);
+ BTItem btitem = (BTItem) PageGetItem(page,
+ PageGetItemId(page, ItemPointerGetOffsetNumber(current)));
+
so->mrkHeapIptr = btitem->bti_itup.t_tid;
}
}
diff --git a/src/backend/access/nbtree/nbtsearch.c b/src/backend/access/nbtree/nbtsearch.c
index 8584f20587..6e6732010d 100644
--- a/src/backend/access/nbtree/nbtsearch.c
+++ b/src/backend/access/nbtree/nbtsearch.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtsearch.c,v 1.37 1998/09/01 03:21:18 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtsearch.c,v 1.38 1998/09/01 04:27:06 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -28,14 +28,11 @@
#endif
-static BTStack
-_bt_searchr(Relation rel, int keysz, ScanKey scankey,
+static BTStack _bt_searchr(Relation rel, int keysz, ScanKey scankey,
Buffer *bufP, BTStack stack_in);
-static OffsetNumber
-_bt_firsteq(Relation rel, TupleDesc itupdesc, Page page,
+static OffsetNumber _bt_firsteq(Relation rel, TupleDesc itupdesc, Page page,
Size keysz, ScanKey scankey, OffsetNumber offnum);
-static int
-_bt_compare(Relation rel, TupleDesc itupdesc, Page page,
+static int _bt_compare(Relation rel, TupleDesc itupdesc, Page page,
int keysz, ScanKey scankey, OffsetNumber offnum);
static bool
_bt_twostep(IndexScanDesc scan, Buffer *bufP, ScanDirection dir);
@@ -219,8 +216,8 @@ _bt_moveright(Relation rel,
if (_bt_skeycmp(rel, keysz, scankey, page,
PageGetItemId(page, P_FIRSTKEY),
BTEqualStrategyNumber))
- elog(FATAL, "btree: BTP_CHAIN flag was expected in %s (access = %s)",
- rel->rd_rel->relname, access ? "bt_write" : "bt_read");
+ elog(FATAL, "btree: BTP_CHAIN flag was expected in %s (access = %s)",
+ rel->rd_rel->relname, access ? "bt_write" : "bt_read");
if (_bt_skeycmp(rel, keysz, scankey, page,
PageGetItemId(page, offmax),
BTEqualStrategyNumber))
diff --git a/src/backend/access/nbtree/nbtsort.c b/src/backend/access/nbtree/nbtsort.c
index 5fb3145c36..30d74ced97 100644
--- a/src/backend/access/nbtree/nbtsort.c
+++ b/src/backend/access/nbtree/nbtsort.c
@@ -5,7 +5,7 @@
*
*
* IDENTIFICATION
- * $Id: nbtsort.c,v 1.32 1998/09/01 03:21:19 momjian Exp $
+ * $Id: nbtsort.c,v 1.33 1998/09/01 04:27:07 momjian Exp $
*
* NOTES
*
@@ -184,7 +184,7 @@ _bt_isortcmp(BTSortKey *k1, BTSortKey *k2)
return 1; /* 1 > 2 */
}
else if (k2->btsk_item == (BTItem) NULL)
- return -1; /* 1 < 2 */
+ return -1; /* 1 < 2 */
for (i = 0; i < _bt_nattr; i++)
{
@@ -198,14 +198,14 @@ _bt_isortcmp(BTSortKey *k1, BTSortKey *k2)
return 1; /* NULL ">" NOT_NULL */
}
else if (k2_nulls[i] != ' ') /* k2 attr is NULL */
- return -1; /* NOT_NULL "<" NULL */
+ return -1; /* NOT_NULL "<" NULL */
if (_bt_invokestrat(_bt_sortrel, i + 1, BTGreaterStrategyNumber,
k1_datum[i], k2_datum[i]))
return 1; /* 1 > 2 */
else if (_bt_invokestrat(_bt_sortrel, i + 1, BTGreaterStrategyNumber,
k2_datum[i], k1_datum[i]))
- return -1; /* 1 < 2 */
+ return -1; /* 1 < 2 */
}
if (_bt_inspool->isunique && !equal_isnull)
@@ -731,7 +731,7 @@ _bt_spool(Relation index, BTItem btitem, void *spool)
printf("_bt_spool: inserted <%x> into output tape %d\n",
d, btspool->bts_tape);
}
-#endif /* FASTBUILD_DEBUG && FASTBUILD_SPOOL */
+#endif /* FASTBUILD_DEBUG && FASTBUILD_SPOOL */
}
/*
@@ -975,7 +975,7 @@ _bt_buildadd(Relation index, void *pstate, BTItem bti, int flags)
printf("_bt_buildadd: moved <%x> to offset %d at level %d\n",
d, n, state->btps_level);
}
-#endif /* FASTBUILD_DEBUG && FASTBUILD_MERGE */
+#endif /* FASTBUILD_DEBUG && FASTBUILD_MERGE */
#endif
}
@@ -1058,7 +1058,7 @@ _bt_buildadd(Relation index, void *pstate, BTItem bti, int flags)
printf("_bt_buildadd: inserted <%x> at offset %d at level %d\n",
d, off, state->btps_level);
}
-#endif /* FASTBUILD_DEBUG && FASTBUILD_MERGE */
+#endif /* FASTBUILD_DEBUG && FASTBUILD_MERGE */
#endif
if (last_bti == (BTItem) NULL)
first_off = P_FIRSTKEY;
@@ -1254,7 +1254,7 @@ _bt_merge(Relation index, BTSpool *btspool)
npass, nruns, d, t,
BufferGetBlockNumber(state->btps_buf));
}
-#endif /* FASTBUILD_DEBUG && FASTBUILD_MERGE */
+#endif /* FASTBUILD_DEBUG && FASTBUILD_MERGE */
}
else
{
@@ -1283,7 +1283,7 @@ _bt_merge(Relation index, BTSpool *btspool)
npass, nruns, d, t,
btspool->bts_tape);
}
-#endif /* FASTBUILD_DEBUG && FASTBUILD_MERGE */
+#endif /* FASTBUILD_DEBUG && FASTBUILD_MERGE */
}
if (btsk.btsk_datum != (Datum *) NULL)
@@ -1408,7 +1408,7 @@ _bt_upperbuild(Relation index)
printf("_bt_upperbuild: inserting <%x> at %d\n",
d, state->btps_level);
}
-#endif /* FASTBUILD_DEBUG && FASTBUILD_MERGE */
+#endif /* FASTBUILD_DEBUG && FASTBUILD_MERGE */
_bt_buildadd(index, state, nbti, 0);
pfree((void *) nbti);
}
diff --git a/src/backend/access/rtree/rtget.c b/src/backend/access/rtree/rtget.c
index 644240e650..4df0adf5c4 100644
--- a/src/backend/access/rtree/rtget.c
+++ b/src/backend/access/rtree/rtget.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtget.c,v 1.11 1998/09/01 03:21:24 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtget.c,v 1.12 1998/09/01 04:27:09 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -27,8 +27,7 @@
#endif
-static OffsetNumber
-findnext(IndexScanDesc s, Page p, OffsetNumber n,
+static OffsetNumber findnext(IndexScanDesc s, Page p, OffsetNumber n,
ScanDirection dir);
static RetrieveIndexResult rtscancache(IndexScanDesc s, ScanDirection dir);
static RetrieveIndexResult rtfirst(IndexScanDesc s, ScanDirection dir);
diff --git a/src/backend/access/rtree/rtree.c b/src/backend/access/rtree/rtree.c
index 2352b9b7e7..a9b2eff681 100644
--- a/src/backend/access/rtree/rtree.c
+++ b/src/backend/access/rtree/rtree.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtree.c,v 1.27 1998/09/01 03:21:27 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtree.c,v 1.28 1998/09/01 04:27:10 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -50,25 +50,19 @@ typedef struct RTSTATE
} RTSTATE;
/* non-export function prototypes */
-static InsertIndexResult
-rtdoinsert(Relation r, IndexTuple itup,
+static InsertIndexResult rtdoinsert(Relation r, IndexTuple itup,
RTSTATE *rtstate);
-static void
-rttighten(Relation r, RTSTACK *stk, char *datum, int att_size,
+static void rttighten(Relation r, RTSTACK *stk, char *datum, int att_size,
RTSTATE *rtstate);
-static InsertIndexResult
-dosplit(Relation r, Buffer buffer, RTSTACK *stack,
+static InsertIndexResult dosplit(Relation r, Buffer buffer, RTSTACK *stack,
IndexTuple itup, RTSTATE *rtstate);
-static void
-rtintinsert(Relation r, RTSTACK *stk, IndexTuple ltup,
+static void rtintinsert(Relation r, RTSTACK *stk, IndexTuple ltup,
IndexTuple rtup, RTSTATE *rtstate);
static void rtnewroot(Relation r, IndexTuple lt, IndexTuple rt);
-static void
-picksplit(Relation r, Page page, SPLITVEC *v, IndexTuple itup,
+static void picksplit(Relation r, Page page, SPLITVEC *v, IndexTuple itup,
RTSTATE *rtstate);
static void RTInitBuffer(Buffer b, uint32 f);
-static OffsetNumber
-choose(Relation r, Page p, IndexTuple it,
+static OffsetNumber choose(Relation r, Page p, IndexTuple it,
RTSTATE *rtstate);
static int nospace(Page p, IndexTuple it);
static void initRtstate(RTSTATE *rtstate, Relation index);
@@ -163,12 +157,12 @@ rtbuild(Relation heap,
tupleTable = NULL;
slot = NULL;
}
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
/* count the tuples as we insert them */
nh = ni = 0;
- scan = heap_beginscan(heap, 0, SnapshotNow, 0, (ScanKey) NULL);
+ scan = heap_beginscan(heap, 0, SnapshotNow, 0, (ScanKey) NULL);
while (HeapTupleIsValid(htup = heap_getnext(scan, 0)))
{
@@ -188,7 +182,7 @@ rtbuild(Relation heap,
ni++;
continue;
}
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
/*
@@ -202,7 +196,7 @@ rtbuild(Relation heap,
slot->val = htup;
if (ExecQual((List *) pred, econtext) == false)
continue;
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
ni++;
@@ -263,7 +257,7 @@ rtbuild(Relation heap,
#ifndef OMIT_PARTIAL_INDEX
ExecDestroyTupleTable(tupleTable, true);
pfree(econtext);
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
/*
@@ -1042,4 +1036,4 @@ _rtdump(Relation r)
}
}
-#endif /* defined RTDEBUG */
+#endif /* defined RTDEBUG */
diff --git a/src/backend/access/rtree/rtscan.c b/src/backend/access/rtree/rtscan.c
index 21e1f1c311..6d0bb632e7 100644
--- a/src/backend/access/rtree/rtscan.c
+++ b/src/backend/access/rtree/rtscan.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtscan.c,v 1.18 1998/09/01 03:21:28 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtscan.c,v 1.19 1998/09/01 04:27:12 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -30,14 +30,11 @@
/* routines defined and used here */
static void rtregscan(IndexScanDesc s);
static void rtdropscan(IndexScanDesc s);
-static void
-rtadjone(IndexScanDesc s, int op, BlockNumber blkno,
+static void rtadjone(IndexScanDesc s, int op, BlockNumber blkno,
OffsetNumber offnum);
-static void
-adjuststack(RTSTACK *stk, BlockNumber blkno,
+static void adjuststack(RTSTACK *stk, BlockNumber blkno,
OffsetNumber offnum);
-static void
-adjustiptr(IndexScanDesc s, ItemPointer iptr,
+static void adjustiptr(IndexScanDesc s, ItemPointer iptr,
int op, BlockNumber blkno, OffsetNumber offnum);
/*
diff --git a/src/backend/access/rtree/rtstrat.c b/src/backend/access/rtree/rtstrat.c
index 04c5728888..f610bfc2ed 100644
--- a/src/backend/access/rtree/rtstrat.c
+++ b/src/backend/access/rtree/rtstrat.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtstrat.c,v 1.9 1998/09/01 03:21:30 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtstrat.c,v 1.10 1998/09/01 04:27:13 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -18,8 +18,7 @@
#include <access/rtree.h>
#include <access/istrat.h>
-static StrategyNumber
-RelationGetRTStrategy(Relation r,
+static StrategyNumber RelationGetRTStrategy(Relation r,
AttrNumber attnum, RegProcedure proc);
/*
diff --git a/src/backend/access/transam/transam.c b/src/backend/access/transam/transam.c
index 284400116d..5bcce3c2d7 100644
--- a/src/backend/access/transam/transam.c
+++ b/src/backend/access/transam/transam.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/transam/transam.c,v 1.18 1998/09/01 03:21:31 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/transam/transam.c,v 1.19 1998/09/01 04:27:15 momjian Exp $
*
* NOTES
* This file contains the high level access-method interface to the
@@ -29,8 +29,7 @@
static int RecoveryCheckingEnabled(void);
static void TransRecover(Relation logRelation);
static bool TransactionLogTest(TransactionId transactionId, XidStatus status);
-static void
-TransactionLogUpdate(TransactionId transactionId,
+static void TransactionLogUpdate(TransactionId transactionId,
XidStatus status);
/* ----------------
diff --git a/src/backend/access/transam/transsup.c b/src/backend/access/transam/transsup.c
index 51879019c8..6f1b09b577 100644
--- a/src/backend/access/transam/transsup.c
+++ b/src/backend/access/transam/transsup.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/transam/Attic/transsup.c,v 1.16 1998/01/07 21:02:19 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/transam/Attic/transsup.c,v 1.17 1998/09/01 04:27:16 momjian Exp $
*
* NOTES
* This file contains support functions for the high
@@ -23,11 +23,9 @@
#include <access/xact.h>
#include <storage/lmgr.h>
-static XidStatus
-TransBlockGetXidStatus(Block tblock,
+static XidStatus TransBlockGetXidStatus(Block tblock,
TransactionId transactionId);
-static void
-TransBlockSetXidStatus(Block tblock,
+static void TransBlockSetXidStatus(Block tblock,
TransactionId transactionId, XidStatus xstatus);
/* ----------------------------------------------------------------
diff --git a/src/backend/access/transam/varsup.c b/src/backend/access/transam/varsup.c
index ef669df70e..2c49c05c12 100644
--- a/src/backend/access/transam/varsup.c
+++ b/src/backend/access/transam/varsup.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/transam/varsup.c,v 1.16 1998/07/21 06:17:13 vadim Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/transam/varsup.c,v 1.17 1998/09/01 04:27:18 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -31,7 +31,7 @@ static void VariableRelationPutNextOid(Oid *oidP);
*/
int OidGenLockId;
-VariableCache ShmemVariableCache = NULL;
+VariableCache ShmemVariableCache = NULL;
/* ----------------------------------------------------------------
* variable relation query/update routines
@@ -292,11 +292,11 @@ GetNewTransactionId(TransactionId *xid)
}
SpinAcquire(OidGenLockId); /* not good for concurrency... */
-
+
if (ShmemVariableCache->xid_count == 0)
{
TransactionId nextid;
-
+
VariableRelationGetNextXid(&nextid);
TransactionIdStore(nextid, &(ShmemVariableCache->nextXid));
ShmemVariableCache->xid_count = VAR_XID_PREFETCH;
@@ -307,7 +307,7 @@ GetNewTransactionId(TransactionId *xid)
TransactionIdStore(ShmemVariableCache->nextXid, xid);
TransactionIdAdd(&(ShmemVariableCache->nextXid), 1);
(ShmemVariableCache->xid_count)--;
-
+
SpinRelease(OidGenLockId);
}
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index e40f49fc87..d082c805cd 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/transam/xact.c,v 1.22 1998/09/01 03:21:33 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/transam/xact.c,v 1.23 1998/09/01 04:27:19 momjian Exp $
*
* NOTES
* Transaction aborts can now occur two ways:
@@ -898,7 +898,7 @@ CommitTransaction()
* ----------------
*/
- /* handle commit for large objects [ PA, 7/17/98 ] */
+ /* handle commit for large objects [ PA, 7/17/98 ] */
_lo_commit();
CloseSequences();
diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c
index 18497cb2f2..2f8fd05310 100644
--- a/src/backend/bootstrap/bootstrap.c
+++ b/src/backend/bootstrap/bootstrap.c
@@ -7,7 +7,7 @@
* Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.50 1998/09/01 03:21:36 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.51 1998/09/01 04:27:21 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -325,7 +325,8 @@ BootstrapMain(int argc, char *argv[])
DataDir = optarg;
break;
case 'd':
- DebugMode = true; /* print out debugging info while parsing */
+ DebugMode = true; /* print out debugging info while
+ * parsing */
break;
case 'C':
Noversion = true;
@@ -601,7 +602,7 @@ DefineAttr(char *name, char *type, int attnum)
printf("<%s %s> ", attrtypes[attnum]->attname.data, type);
attrtypes[attnum]->attnum = 1 + attnum; /* fillatt */
attlen = attrtypes[attnum]->attlen = Procid[typeoid].len;
- attrtypes[attnum]->attbyval = (attlen == 1) || (attlen == 2) ||(attlen == 4);
+ attrtypes[attnum]->attbyval = (attlen == 1) || (attlen == 2) || (attlen == 4);
attrtypes[attnum]->attalign = 'i';
}
attrtypes[attnum]->attcacheoff = -1;
diff --git a/src/backend/catalog/aclchk.c b/src/backend/catalog/aclchk.c
index 3d778d2609..d432269a36 100644
--- a/src/backend/catalog/aclchk.c
+++ b/src/backend/catalog/aclchk.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/catalog/aclchk.c,v 1.15 1998/09/01 03:21:38 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/catalog/aclchk.c,v 1.16 1998/09/01 04:27:27 momjian Exp $
*
* NOTES
* See acl.h.
@@ -185,7 +185,7 @@ get_grosysid(char *groname)
tuple = SearchSysCacheTuple(GRONAME,
PointerGetDatum(groname),
- 0, 0, 0);
+ 0, 0, 0);
if (HeapTupleIsValid(tuple))
id = ((Form_pg_group) GETSTRUCT(tuple))->grosysid;
else
@@ -201,7 +201,7 @@ get_groname(AclId grosysid)
tuple = SearchSysCacheTuple(GROSYSID,
ObjectIdGetDatum(grosysid),
- 0, 0, 0);
+ 0, 0, 0);
if (HeapTupleIsValid(tuple))
name = (((Form_pg_group) GETSTRUCT(tuple))->groname).data;
else
@@ -229,13 +229,13 @@ in_group(AclId uid, AclId gid)
}
tuple = SearchSysCacheTuple(GROSYSID,
ObjectIdGetDatum(gid),
- 0, 0, 0);
+ 0, 0, 0);
if (HeapTupleIsValid(tuple) &&
!heap_attisnull(tuple, Anum_pg_group_grolist))
{
tmp = (IdList *) heap_getattr(tuple,
Anum_pg_group_grolist,
- RelationGetDescr(relation),
+ RelationGetDescr(relation),
(bool *) NULL);
/* XXX make me a function */
num = IDLIST_NUM(tmp);
@@ -369,7 +369,7 @@ pg_aclcheck(char *relname, char *usename, AclMode mode)
tuple = SearchSysCacheTuple(USENAME,
PointerGetDatum(usename),
- 0, 0, 0);
+ 0, 0, 0);
if (!HeapTupleIsValid(tuple))
elog(ERROR, "pg_aclcheck: user \"%s\" not found",
usename);
@@ -420,8 +420,8 @@ pg_aclcheck(char *relname, char *usename, AclMode mode)
#ifndef ACLDEBUG
tuple = SearchSysCacheTuple(RELNAME,
- PointerGetDatum(relname),
- 0, 0, 0);
+ PointerGetDatum(relname),
+ 0, 0, 0);
if (!HeapTupleIsValid(tuple))
{
elog(ERROR, "pg_aclcheck: class \"%s\" not found",
@@ -450,10 +450,10 @@ pg_aclcheck(char *relname, char *usename, AclMode mode)
relation = heap_openr(RelationRelationName);
ownerId = (int4) heap_getattr(tuple,
- Anum_pg_class_relowner,
- RelationGetDescr(relation),
- (bool *) NULL);
- acl = aclownerdefault(relname, (AclId)ownerId);
+ Anum_pg_class_relowner,
+ RelationGetDescr(relation),
+ (bool *) NULL);
+ acl = aclownerdefault(relname, (AclId) ownerId);
}
#else
{ /* This is why the syscache is great... */
@@ -469,14 +469,14 @@ pg_aclcheck(char *relname, char *usename, AclMode mode)
return ACLCHECK_NO_CLASS;
}
tuple = SearchSysCacheTuple(RELNAME,
- PointerGetDatum(relname),
- 0, 0, 0);
+ PointerGetDatum(relname),
+ 0, 0, 0);
if (HeapTupleIsValid(tuple) &&
!heap_attisnull(tuple, Anum_pg_class_relacl))
{
tmp = (Acl *) heap_getattr(tuple,
Anum_pg_class_relacl,
- RelationGetDescr(relation),
+ RelationGetDescr(relation),
(bool *) NULL);
acl = makeacl(ACL_NUM(tmp));
memmove((char *) acl, (char *) tmp, ACL_SIZE(tmp));
@@ -501,7 +501,7 @@ pg_ownercheck(char *usename,
tuple = SearchSysCacheTuple(USENAME,
PointerGetDatum(usename),
- 0, 0, 0);
+ 0, 0, 0);
if (!HeapTupleIsValid(tuple))
elog(ERROR, "pg_ownercheck: user \"%s\" not found",
usename);
@@ -520,7 +520,7 @@ pg_ownercheck(char *usename,
}
tuple = SearchSysCacheTuple(cacheid, PointerGetDatum(value),
- 0, 0, 0);
+ 0, 0, 0);
switch (cacheid)
{
case OPROID:
@@ -568,7 +568,7 @@ pg_func_ownercheck(char *usename,
tuple = SearchSysCacheTuple(USENAME,
PointerGetDatum(usename),
- 0, 0, 0);
+ 0, 0, 0);
if (!HeapTupleIsValid(tuple))
elog(ERROR, "pg_func_ownercheck: user \"%s\" not found",
usename);
@@ -587,10 +587,10 @@ pg_func_ownercheck(char *usename,
}
tuple = SearchSysCacheTuple(PRONAME,
- PointerGetDatum(funcname),
- Int32GetDatum(nargs),
- PointerGetDatum(arglist),
- 0);
+ PointerGetDatum(funcname),
+ Int32GetDatum(nargs),
+ PointerGetDatum(arglist),
+ 0);
if (!HeapTupleIsValid(tuple))
func_error("pg_func_ownercheck", funcname, nargs, arglist, NULL);
@@ -610,7 +610,7 @@ pg_aggr_ownercheck(char *usename,
tuple = SearchSysCacheTuple(USENAME,
PointerGetDatum(usename),
- 0, 0, 0);
+ 0, 0, 0);
if (!HeapTupleIsValid(tuple))
elog(ERROR, "pg_aggr_ownercheck: user \"%s\" not found",
usename);
@@ -629,9 +629,9 @@ pg_aggr_ownercheck(char *usename,
}
tuple = SearchSysCacheTuple(AGGNAME,
- PointerGetDatum(aggname),
- ObjectIdGetDatum(basetypeID),
- 0, 0);
+ PointerGetDatum(aggname),
+ ObjectIdGetDatum(basetypeID),
+ 0, 0);
if (!HeapTupleIsValid(tuple))
agg_error("pg_aggr_ownercheck", aggname, basetypeID);
diff --git a/src/backend/catalog/catalog.c b/src/backend/catalog/catalog.c
index 5db4be0310..cb9d5ff836 100644
--- a/src/backend/catalog/catalog.c
+++ b/src/backend/catalog/catalog.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/catalog/catalog.c,v 1.17 1998/09/01 03:21:40 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/catalog/catalog.c,v 1.18 1998/09/01 04:27:28 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -174,7 +174,7 @@ fillatt(TupleDesc tupleDesc)
for (i = 0; i < natts;)
{
tuple = SearchSysCacheTuple(TYPOID,
- ObjectIdGetDatum((*attributeP)->atttypid),
+ ObjectIdGetDatum((*attributeP)->atttypid),
0, 0, 0);
if (!HeapTupleIsValid(tuple))
{
@@ -193,7 +193,7 @@ fillatt(TupleDesc tupleDesc)
*/
if (!(*attributeP)->attisset)
{
- typp = (Form_pg_type) GETSTRUCT(tuple); /* XXX */
+ typp = (Form_pg_type) GETSTRUCT(tuple); /* XXX */
(*attributeP)->attlen = typp->typlen;
(*attributeP)->attbyval = typp->typbyval;
}
diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c
index d6c252f7ba..bcac947978 100644
--- a/src/backend/catalog/heap.c
+++ b/src/backend/catalog/heap.c
@@ -7,12 +7,12 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.63 1998/09/01 03:21:41 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.64 1998/09/01 04:27:29 momjian Exp $
*
* INTERFACE ROUTINES
* heap_create() - Create an uncataloged heap relation
* heap_create_with_catalog() - Create a cataloged relation
- * heap_destroy_with_catalog() - Removes named relation from catalogs
+ * heap_destroy_with_catalog() - Removes named relation from catalogs
*
* NOTES
* this code taken from access/heap/create.c, which contains
@@ -65,10 +65,9 @@
#include <string.h>
#endif
-static void
-AddPgRelationTuple(Relation pg_class_desc,
- Relation new_rel_desc, Oid new_rel_oid, unsigned natts,
- char relkind);
+static void AddPgRelationTuple(Relation pg_class_desc,
+ Relation new_rel_desc, Oid new_rel_oid, unsigned natts,
+ char relkind);
static void AddToTempRelList(Relation r);
static void DeletePgAttributeTuples(Relation rel);
static void DeletePgRelationTuple(Relation rel);
@@ -317,7 +316,7 @@ heap_create(char *name,
* ----------------
*/
- rel->rd_tmpunlinked = TRUE; /* change once table is created */
+ rel->rd_tmpunlinked = TRUE; /* change once table is created */
rel->rd_fd = (File) smgrcreate(DEFAULT_SMGR, rel);
rel->rd_tmpunlinked = FALSE;
@@ -479,8 +478,8 @@ RelationAlreadyExists(Relation pg_class_desc, char *relname)
if (!IsBootstrapProcessingMode())
{
tup = SearchSysCacheTuple(RELNAME,
- PointerGetDatum(relname),
- 0, 0, 0);
+ PointerGetDatum(relname),
+ 0, 0, 0);
if (HeapTupleIsValid(tup))
return true;
else
@@ -878,7 +877,7 @@ RelationRemoveInheritance(Relation relation)
HeapScanDesc scan;
ScanKeyData entry;
bool found = false;
-
+
/* ----------------
* open pg_inherits
* ----------------
@@ -892,7 +891,7 @@ RelationRemoveInheritance(Relation relation)
*/
ScanKeyEntryInitialize(&entry, 0x0, Anum_pg_inherits_inhparent,
F_OIDEQ,
- ObjectIdGetDatum(RelationGetRelid(relation)));
+ ObjectIdGetDatum(RelationGetRelid(relation)));
scan = heap_beginscan(catalogRelation,
false,
@@ -972,10 +971,10 @@ RelationRemoveIndexes(Relation relation)
ScanKeyData entry;
indexRelation = heap_openr(IndexRelationName);
-
+
ScanKeyEntryInitialize(&entry, 0x0, Anum_pg_index_indrelid,
F_OIDEQ,
- ObjectIdGetDatum(RelationGetRelid(relation)));
+ ObjectIdGetDatum(RelationGetRelid(relation)));
scan = heap_beginscan(indexRelation,
false,
@@ -1008,8 +1007,8 @@ DeletePgRelationTuple(Relation rel)
pg_class_desc = heap_openr(RelationRelationName);
tup = SearchSysCacheTupleCopy(RELOID,
- ObjectIdGetDatum(rel->rd_att->attrs[0]->attrelid),
- 0, 0, 0);
+ ObjectIdGetDatum(rel->rd_att->attrs[0]->attrelid),
+ 0, 0, 0);
if (!HeapTupleIsValid(tup))
{
heap_close(pg_class_desc);
@@ -1023,7 +1022,7 @@ DeletePgRelationTuple(Relation rel)
*/
heap_delete(pg_class_desc, &tup->t_ctid);
pfree(tup);
-
+
heap_close(pg_class_desc);
}
@@ -1038,7 +1037,7 @@ DeletePgAttributeTuples(Relation rel)
Relation pg_attribute_desc;
HeapTuple tup;
int2 attnum;
-
+
/* ----------------
* open pg_attribute
* ----------------
@@ -1052,19 +1051,19 @@ DeletePgAttributeTuples(Relation rel)
RelationSetLockForWrite(pg_attribute_desc);
for (attnum = FirstLowInvalidHeapAttributeNumber + 1;
- attnum <= rel->rd_att->natts;
- attnum++)
+ attnum <= rel->rd_att->natts;
+ attnum++)
{
if (HeapTupleIsValid(tup = SearchSysCacheTupleCopy(ATTNUM,
- ObjectIdGetDatum(RelationGetRelid(rel)),
- Int16GetDatum(attnum),
- 0, 0)))
+ ObjectIdGetDatum(RelationGetRelid(rel)),
+ Int16GetDatum(attnum),
+ 0, 0)))
{
heap_delete(pg_attribute_desc, &tup->t_ctid);
pfree(tup);
}
}
-
+
/* ----------------
* Release the write lock
* ----------------
@@ -1107,9 +1106,9 @@ DeletePgTypeTuple(Relation rel)
* ----------------
*/
ScanKeyEntryInitialize(&key, 0,
- Anum_pg_type_typrelid,
- F_OIDEQ,
- ObjectIdGetDatum(RelationGetRelid(rel)));
+ Anum_pg_type_typrelid,
+ F_OIDEQ,
+ ObjectIdGetDatum(RelationGetRelid(rel)));
pg_type_scan = heap_beginscan(pg_type_desc,
0,
@@ -1470,7 +1469,7 @@ start:;
}
}
else if ((exprType(expr) != atp->atttypid)
- && !IS_BINARY_COMPATIBLE(exprType(expr), atp->atttypid))
+ && !IS_BINARY_COMPATIBLE(exprType(expr), atp->atttypid))
elog(ERROR, "DEFAULT: type mismatched");
adbin = nodeToString(expr);
diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c
index ad8725a254..7d98a51bc5 100644
--- a/src/backend/catalog/index.c
+++ b/src/backend/catalog/index.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.59 1998/09/01 03:21:43 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.60 1998/09/01 04:27:31 momjian Exp $
*
*
* INTERFACE ROUTINES
@@ -65,32 +65,28 @@
/* non-export function prototypes */
static Oid
-RelationNameGetObjectId(char *relationName, Relation pg_class);
+ RelationNameGetObjectId(char *relationName, Relation pg_class);
static Oid GetHeapRelationOid(char *heapRelationName, char *indexRelationName);
static TupleDesc BuildFuncTupleDesc(FuncIndexInfo *funcInfo);
-static TupleDesc
-ConstructTupleDescriptor(Oid heapoid, Relation heapRelation,
+static TupleDesc ConstructTupleDescriptor(Oid heapoid, Relation heapRelation,
List *attributeList,
int numatts, AttrNumber *attNums);
static void ConstructIndexReldesc(Relation indexRelation, Oid amoid);
static Oid UpdateRelationRelation(Relation indexRelation);
-static void
-InitializeAttributeOids(Relation indexRelation,
+static void InitializeAttributeOids(Relation indexRelation,
int numatts,
Oid indexoid);
static void
AppendAttributeTuples(Relation indexRelation, int numatts);
-static void
-UpdateIndexRelation(Oid indexoid, Oid heapoid,
+static void UpdateIndexRelation(Oid indexoid, Oid heapoid,
FuncIndexInfo *funcInfo, int natts,
- AttrNumber *attNums, Oid *classOids, Node *predicate,
+ AttrNumber *attNums, Oid *classOids, Node *predicate,
List *attributeList, bool islossy, bool unique);
-static void
-DefaultBuild(Relation heapRelation, Relation indexRelation,
+static void DefaultBuild(Relation heapRelation, Relation indexRelation,
int numberOfAttributes, AttrNumber *attributeNumber,
IndexStrategy indexStrategy, uint16 parameterCount,
- Datum *parameter, FuncIndexInfoPtr funcInfo, PredInfo *predInfo);
+ Datum *parameter, FuncIndexInfoPtr funcInfo, PredInfo *predInfo);
/* ----------------------------------------------------------------
* sysatts is a structure containing attribute tuple forms
@@ -147,12 +143,12 @@ RelationNameGetObjectId(char *relationName,
if (!IsBootstrapProcessingMode())
{
- HeapTuple tuple;
-
+ HeapTuple tuple;
+
tuple = SearchSysCacheTuple(RELNAME,
PointerGetDatum(relationName),
0, 0, 0);
-
+
if (HeapTupleIsValid(tuple))
return tuple->t_oid;
else
@@ -614,7 +610,9 @@ static void
AppendAttributeTuples(Relation indexRelation, int numatts)
{
Relation pg_attribute;
- HeapTuple init_tuple, cur_tuple = NULL, new_tuple;
+ HeapTuple init_tuple,
+ cur_tuple = NULL,
+ new_tuple;
bool hasind;
Relation idescs[Num_pg_attr_indices];
@@ -651,8 +649,8 @@ AppendAttributeTuples(Relation indexRelation, int numatts)
value[Anum_pg_attribute_attcacheoff - 1] = Int32GetDatum(-1);
init_tuple = heap_addheader(Natts_pg_attribute,
- sizeof *(indexRelation->rd_att->attrs[0]),
- (char *) (indexRelation->rd_att->attrs[0]));
+ sizeof *(indexRelation->rd_att->attrs[0]),
+ (char *) (indexRelation->rd_att->attrs[0]));
hasind = false;
if (!IsBootstrapProcessingMode() && pg_attribute->rd_rel->relhasindex)
@@ -666,12 +664,12 @@ AppendAttributeTuples(Relation indexRelation, int numatts)
* ----------------
*/
cur_tuple = heap_modifytuple(init_tuple,
- pg_attribute,
- value,
- nullv,
- replace);
+ pg_attribute,
+ value,
+ nullv,
+ replace);
pfree(init_tuple);
-
+
heap_insert(pg_attribute, cur_tuple);
if (hasind)
CatalogIndexInsert(idescs, Num_pg_attr_indices, pg_attribute, cur_tuple);
@@ -696,13 +694,13 @@ AppendAttributeTuples(Relation indexRelation, int numatts)
value[Anum_pg_attribute_attnum - 1] = Int16GetDatum(i + 1);
new_tuple = heap_modifytuple(cur_tuple,
- pg_attribute,
- value,
- nullv,
- replace);
+ pg_attribute,
+ value,
+ nullv,
+ replace);
pfree(cur_tuple);
- heap_insert(pg_attribute,new_tuple);
+ heap_insert(pg_attribute, new_tuple);
if (hasind)
CatalogIndexInsert(idescs, Num_pg_attr_indices, pg_attribute, new_tuple);
@@ -711,7 +709,7 @@ AppendAttributeTuples(Relation indexRelation, int numatts)
* so we free the original and use the copy..
* ----------------
*/
- cur_tuple = new_tuple;
+ cur_tuple = new_tuple;
}
if (cur_tuple)
@@ -898,10 +896,10 @@ UpdateIndexPredicate(Oid indexoid, Node *oldPred, Node *predicate)
pg_index = heap_openr(IndexRelationName);
tuple = SearchSysCacheTuple(INDEXRELID,
- ObjectIdGetDatum(indexoid),
- 0, 0, 0);
+ ObjectIdGetDatum(indexoid),
+ 0, 0, 0);
Assert(HeapTupleIsValid(tuple));
-
+
for (i = 0; i < Natts_pg_index; i++)
{
nulls[i] = heap_attisnull(tuple, i + 1) ? 'n' : ' ';
@@ -1103,7 +1101,7 @@ index_create(char *heapRelationName,
if (!HeapTupleIsValid(proc_tup))
{
func_error("index_create", FIgetname(funcInfo),
- FIgetnArgs(funcInfo), FIgetArglist(funcInfo), NULL);
+ FIgetnArgs(funcInfo), FIgetArglist(funcInfo), NULL);
}
FIgetProcOid(funcInfo) = proc_tup->t_oid;
}
@@ -1178,7 +1176,7 @@ index_destroy(Oid indexId)
Relation attributeRelation;
HeapTuple tuple;
int16 attnum;
-
+
Assert(OidIsValid(indexId));
/* why open it here? bjm 1998/08/20 */
@@ -1206,12 +1204,12 @@ index_destroy(Oid indexId)
*/
attributeRelation = heap_openr(AttributeRelationName);
- attnum = 1; /* indexes start at 1 */
+ attnum = 1; /* indexes start at 1 */
while (HeapTupleIsValid(tuple = SearchSysCacheTupleCopy(ATTNUM,
- ObjectIdGetDatum(indexId),
- Int16GetDatum(attnum),
- 0, 0)))
+ ObjectIdGetDatum(indexId),
+ Int16GetDatum(attnum),
+ 0, 0)))
{
heap_delete(attributeRelation, &tuple->t_ctid);
pfree(tuple);
@@ -1224,15 +1222,15 @@ index_destroy(Oid indexId)
* ----------------
*/
tuple = SearchSysCacheTupleCopy(INDEXRELID,
- ObjectIdGetDatum(indexId),
- 0, 0, 0);
+ ObjectIdGetDatum(indexId),
+ 0, 0, 0);
if (!HeapTupleIsValid(tuple))
elog(NOTICE, "IndexRelationDestroy: %s's INDEX tuple missing",
RelationGetRelationName(userindexRelation));
indexRelation = heap_openr(IndexRelationName);
-
+
heap_delete(indexRelation, &tuple->t_ctid);
pfree(tuple);
heap_close(indexRelation);
@@ -1281,12 +1279,12 @@ FormIndexDatum(int numberOfAttributes,
{
offset = AttrNumberGetAttrOffset(i);
- datum[offset] = PointerGetDatum(GetIndexValue(heapTuple,
- heapDescriptor,
- offset,
- attributeNumber,
- fInfo,
- &isNull));
+ datum[offset] = PointerGetDatum(GetIndexValue(heapTuple,
+ heapDescriptor,
+ offset,
+ attributeNumber,
+ fInfo,
+ &isNull));
nullv[offset] = (isNull) ? 'n' : ' ';
}
@@ -1311,7 +1309,7 @@ UpdateStats(Oid relid, long reltuples, bool hasindex)
Datum values[Natts_pg_class];
char nulls[Natts_pg_class];
char replace[Natts_pg_class];
- HeapScanDesc pg_class_scan = NULL;
+ HeapScanDesc pg_class_scan = NULL;
/* ----------------
* This routine handles updates for both the heap and index relation
@@ -1356,14 +1354,14 @@ UpdateStats(Oid relid, long reltuples, bool hasindex)
ScanKeyData key[1];
ScanKeyEntryInitialize(&key[0], 0,
- ObjectIdAttributeNumber,
- F_OIDEQ,
- ObjectIdGetDatum(relid));
+ ObjectIdAttributeNumber,
+ F_OIDEQ,
+ ObjectIdGetDatum(relid));
pg_class_scan = heap_beginscan(pg_class, 0, SnapshotNow, 1, key);
tuple = heap_getnext(pg_class_scan, 0);
}
-
+
if (!HeapTupleIsValid(tuple))
{
if (IsBootstrapProcessingMode())
@@ -1436,7 +1434,7 @@ UpdateStats(Oid relid, long reltuples, bool hasindex)
pfree(tuple);
else
heap_endscan(pg_class_scan);
-
+
heap_close(pg_class);
heap_close(whichRel);
}
@@ -1478,7 +1476,7 @@ DefaultBuild(Relation heapRelation,
AttrNumber *attributeNumber,
IndexStrategy indexStrategy, /* not used */
uint16 parameterCount, /* not used */
- Datum *parameter, /* not used */
+ Datum *parameter, /* not used */
FuncIndexInfoPtr funcInfo,
PredInfo *predInfo)
{
@@ -1543,7 +1541,7 @@ DefaultBuild(Relation heapRelation,
tupleTable = ExecCreateTupleTable(1);
slot = ExecAllocTableSlot(tupleTable);
econtext = makeNode(ExprContext);
- /* last parameter was junk being sent bjm 1998/08/17 */
+ /* last parameter was junk being sent bjm 1998/08/17 */
FillDummyExprContext(econtext, slot, heapDescriptor, InvalidBuffer);
}
else
@@ -1552,7 +1550,7 @@ DefaultBuild(Relation heapRelation,
tupleTable = 0;
slot = NULL;
}
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
/* ----------------
* Ok, begin our scan of the base relation.
@@ -1560,7 +1558,7 @@ DefaultBuild(Relation heapRelation,
*/
scan = heap_beginscan(heapRelation, /* relation */
0, /* start at end */
- SnapshotNow,/* seeself */
+ SnapshotNow, /* seeself */
0, /* number of keys */
(ScanKey) NULL); /* scan key */
@@ -1591,7 +1589,7 @@ DefaultBuild(Relation heapRelation,
indtuples++;
continue;
}
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
/*
@@ -1605,7 +1603,7 @@ DefaultBuild(Relation heapRelation,
slot->val = heapTuple;
if (ExecQual((List *) predicate, econtext) == false)
continue;
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
indtuples++;
@@ -1643,7 +1641,7 @@ DefaultBuild(Relation heapRelation,
{
#ifndef OMIT_PARTIAL_INDEX
ExecDestroyTupleTable(tupleTable, false);
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
pfree(nullv);
diff --git a/src/backend/catalog/indexing.c b/src/backend/catalog/indexing.c
index 8fa94148c0..ad66f89269 100644
--- a/src/backend/catalog/indexing.c
+++ b/src/backend/catalog/indexing.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/catalog/indexing.c,v 1.25 1998/09/01 03:21:44 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/catalog/indexing.c,v 1.26 1998/09/01 04:27:33 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -126,8 +126,8 @@ CatalogIndexInsert(Relation *idescs,
indexDescriptor = RelationGetDescr(idescs[i]);
pgIndexTup = SearchSysCacheTupleCopy(INDEXRELID,
- ObjectIdGetDatum(idescs[i]->rd_id),
- 0, 0, 0);
+ ObjectIdGetDatum(idescs[i]->rd_id),
+ 0, 0, 0);
Assert(pgIndexTup);
pgIndexP = (Form_pg_index) GETSTRUCT(pgIndexTup);
@@ -228,7 +228,7 @@ CatalogIndexFetchTuple(Relation heapRelation,
RetrieveIndexResult indexRes;
HeapTuple tuple = NULL;
Buffer buffer;
-
+
sd = index_beginscan(idesc, false, num_keys, skey);
while ((indexRes = index_getnext(sd, ForwardScanDirection)))
{
@@ -239,7 +239,7 @@ CatalogIndexFetchTuple(Relation heapRelation,
pfree(indexRes);
if (HeapTupleIsValid(tuple))
break;
- }
+ }
if (HeapTupleIsValid(tuple))
{
@@ -270,13 +270,13 @@ AttributeNameIndexScan(Relation heapRelation,
ScanKeyEntryInitialize(&skey[0],
(bits16) 0x0,
(AttrNumber) 1,
- (RegProcedure)F_OIDEQ,
+ (RegProcedure) F_OIDEQ,
ObjectIdGetDatum(relid));
ScanKeyEntryInitialize(&skey[1],
(bits16) 0x0,
(AttrNumber) 2,
- (RegProcedure)F_NAMEEQ,
+ (RegProcedure) F_NAMEEQ,
NameGetDatum(attname));
idesc = index_openr(AttributeNameIndex);
@@ -299,13 +299,13 @@ AttributeNumIndexScan(Relation heapRelation,
ScanKeyEntryInitialize(&skey[0],
(bits16) 0x0,
(AttrNumber) 1,
- (RegProcedure)F_OIDEQ,
+ (RegProcedure) F_OIDEQ,
ObjectIdGetDatum(relid));
ScanKeyEntryInitialize(&skey[1],
(bits16) 0x0,
(AttrNumber) 2,
- (RegProcedure)F_INT2EQ,
+ (RegProcedure) F_INT2EQ,
Int16GetDatum(attnum));
idesc = index_openr(AttributeNumIndex);
diff --git a/src/backend/catalog/pg_aggregate.c b/src/backend/catalog/pg_aggregate.c
index c9370df540..00b16c20f6 100644
--- a/src/backend/catalog/pg_aggregate.c
+++ b/src/backend/catalog/pg_aggregate.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/catalog/pg_aggregate.c,v 1.16 1998/09/01 03:21:45 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/catalog/pg_aggregate.c,v 1.17 1998/09/01 04:27:34 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -78,7 +78,7 @@ AggregateCreate(char *aggName,
Oid xret2 = InvalidOid;
Oid fret = InvalidOid;
Oid fnArgs[8];
- NameData aname;
+ NameData aname;
TupleDesc tupDesc;
MemSet(fnArgs, 0, 8 * sizeof(Oid));
diff --git a/src/backend/catalog/pg_operator.c b/src/backend/catalog/pg_operator.c
index a2123fc7c5..a296c9057c 100644
--- a/src/backend/catalog/pg_operator.c
+++ b/src/backend/catalog/pg_operator.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/catalog/pg_operator.c,v 1.28 1998/09/01 03:21:47 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/catalog/pg_operator.c,v 1.29 1998/09/01 04:27:36 momjian Exp $
*
* NOTES
* these routines moved here from commands/define.c and somewhat cleaned up.
@@ -35,28 +35,23 @@
#include <string.h>
#endif
-static Oid
-OperatorGetWithOpenRelation(Relation pg_operator_desc,
+static Oid OperatorGetWithOpenRelation(Relation pg_operator_desc,
const char *operatorName,
Oid leftObjectId,
Oid rightObjectId);
-static Oid
-OperatorGet(char *operatorName,
+static Oid OperatorGet(char *operatorName,
char *leftTypeName,
char *rightTypeName);
-static Oid
-OperatorShellMakeWithOpenRelation(Relation pg_operator_desc,
+static Oid OperatorShellMakeWithOpenRelation(Relation pg_operator_desc,
char *operatorName,
Oid leftObjectId,
Oid rightObjectId);
-static Oid
-OperatorShellMake(char *operatorName,
+static Oid OperatorShellMake(char *operatorName,
char *leftTypeName,
char *rightTypeName);
-static void
-OperatorDef(char *operatorName,
+static void OperatorDef(char *operatorName,
int definedOK,
char *leftTypeName,
char *rightTypeName,
@@ -120,7 +115,7 @@ OperatorGetWithOpenRelation(Relation pg_operator_desc,
*/
pg_operator_scan = heap_beginscan(pg_operator_desc,
0,
- SnapshotSelf, /* no cache? */
+ SnapshotSelf, /* no cache? */
3,
opKey);
@@ -475,7 +470,7 @@ OperatorDef(char *operatorName,
char *name[4];
Oid typeId[8];
int nargs;
- NameData oname;
+ NameData oname;
TupleDesc tupDesc;
static ScanKeyData opKey[3] = {
@@ -796,7 +791,7 @@ OperatorUpd(Oid baseId, Oid commId, Oid negId)
pg_operator_scan = heap_beginscan(pg_operator_desc,
0,
- SnapshotSelf, /* no cache? */
+ SnapshotSelf, /* no cache? */
1,
opKey);
@@ -872,7 +867,7 @@ OperatorUpd(Oid baseId, Oid commId, Oid negId)
pg_operator_scan = heap_beginscan(pg_operator_desc,
0,
- SnapshotSelf, /* no cache? */
+ SnapshotSelf, /* no cache? */
1,
opKey);
diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c
index 006286f6f7..074bda3876 100644
--- a/src/backend/catalog/pg_proc.c
+++ b/src/backend/catalog/pg_proc.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/catalog/pg_proc.c,v 1.22 1998/09/01 03:21:48 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/catalog/pg_proc.c,v 1.23 1998/09/01 04:27:37 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -129,6 +129,7 @@ ProcedureCreate(char *procedureName,
if (!strcmp(languageName, "sql"))
{
+
/*
* If this call is defining a set, check if the set is already
* defined by looking to see whether this call's function text
diff --git a/src/backend/catalog/pg_type.c b/src/backend/catalog/pg_type.c
index 3375cfe591..d9f9023f31 100644
--- a/src/backend/catalog/pg_type.c
+++ b/src/backend/catalog/pg_type.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/catalog/pg_type.c,v 1.29 1998/09/01 03:21:49 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/catalog/pg_type.c,v 1.30 1998/09/01 04:27:39 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -33,8 +33,7 @@
#include <string.h>
#endif
-static Oid
-TypeShellMakeWithOpenRelation(Relation pg_type_desc,
+static Oid TypeShellMakeWithOpenRelation(Relation pg_type_desc,
char *typeName);
/* ----------------------------------------------------------------
@@ -178,7 +177,7 @@ TypeShellMakeWithOpenRelation(Relation pg_type_desc, char *typeName)
*/
i = 0;
namestrcpy(&name, typeName);
- values[i++] = NameGetDatum(&name); /* 1 */
+ values[i++] = NameGetDatum(&name); /* 1 */
values[i++] = (Datum) InvalidOid; /* 2 */
values[i++] = (Datum) (int16) 0; /* 3 */
values[i++] = (Datum) (int16) 0; /* 4 */
@@ -379,17 +378,17 @@ TypeCreate(char *typeName,
* ----------------
*/
i = 0;
- namestrcpy(&name,typeName);
+ namestrcpy(&name, typeName);
values[i++] = NameGetDatum(&name); /* 1 */
values[i++] = (Datum) GetUserId(); /* 2 */
values[i++] = (Datum) internalSize; /* 3 */
values[i++] = (Datum) externalSize; /* 4 */
- values[i++] = (Datum) passedByValue;/* 5 */
+ values[i++] = (Datum) passedByValue; /* 5 */
values[i++] = (Datum) typeType; /* 6 */
values[i++] = (Datum) (bool) 1; /* 7 */
values[i++] = (Datum) typDelim; /* 8 */
values[i++] = (Datum) (typeType == 'c' ? relationOid : InvalidOid); /* 9 */
- values[i++] = (Datum) elementObjectId;/* 10 */
+ values[i++] = (Datum) elementObjectId; /* 10 */
/*
* arguments to type input and output functions must be 0
@@ -431,7 +430,7 @@ TypeCreate(char *typeName,
func_error("TypeCreate", procname, 1, argList, NULL);
}
- values[i++] = (Datum) tup->t_oid; /* 11 - 14 */
+ values[i++] = (Datum) tup->t_oid; /* 11 - 14 */
}
/* ----------------
@@ -444,7 +443,7 @@ TypeCreate(char *typeName,
* initialize the default value for this type.
* ----------------
*/
- values[i] = (Datum) fmgr(F_TEXTIN, /* 16 */
+ values[i] = (Datum) fmgr(F_TEXTIN, /* 16 */
PointerIsValid(defaultTypeValue)
? defaultTypeValue : "-"); /* XXX default
* typdefault */
@@ -534,8 +533,9 @@ TypeRename(char *oldTypeName, char *newTypeName)
{
Relation pg_type_desc;
Relation idescs[Num_pg_type_indices];
- HeapTuple oldtup, newtup;
-
+ HeapTuple oldtup,
+ newtup;
+
pg_type_desc = heap_openr(TypeRelationName);
oldtup = SearchSysCacheTupleCopy(TYPNAME,
@@ -547,7 +547,7 @@ TypeRename(char *oldTypeName, char *newTypeName)
heap_close(pg_type_desc);
elog(ERROR, "TypeRename: type %s not defined", oldTypeName);
}
-
+
newtup = SearchSysCacheTuple(TYPNAME,
PointerGetDatum(newTypeName),
0, 0, 0);
@@ -557,7 +557,7 @@ TypeRename(char *oldTypeName, char *newTypeName)
heap_close(pg_type_desc);
elog(ERROR, "TypeRename: type %s already defined", newTypeName);
}
-
+
namestrcpy(&(((Form_pg_type) GETSTRUCT(oldtup))->typname), newTypeName);
setheapoverride(true);
diff --git a/src/backend/commands/_deadcode/version.c b/src/backend/commands/_deadcode/version.c
index 063b8f2f63..fc7d5dbc4f 100644
--- a/src/backend/commands/_deadcode/version.c
+++ b/src/backend/commands/_deadcode/version.c
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/_deadcode/Attic/version.c,v 1.14 1998/08/19 02:01:58 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/_deadcode/Attic/version.c,v 1.15 1998/09/01 04:28:09 momjian Exp $
*
* NOTES
* At the point the version is defined, 2 physical relations are created
@@ -303,7 +303,7 @@ VersionDelete(char *vname, char *bname, char *snapshot)
vname, vname, vname, bname, bname, snapshot, bname);
eval_as_new_xact(rule_buf);
-#endif /* OLD_REWRITE */
+#endif /* OLD_REWRITE */
}
#endif
@@ -355,7 +355,7 @@ VersionReplace(char *vname, char *bname, char *snapshot)
vname, vname, vname, attr_list, bname, bname, snapshot, vname, bname);
eval_as_new_xact(rule_buf);
-#endif /* OLD_REWRITE */
+#endif /* OLD_REWRITE */
/* printf("%s\n",rule_buf); */
}
diff --git a/src/backend/commands/async.c b/src/backend/commands/async.c
index b057455923..1212197717 100644
--- a/src/backend/commands/async.c
+++ b/src/backend/commands/async.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/async.c,v 1.39 1998/09/01 03:21:50 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/async.c,v 1.40 1998/09/01 04:27:42 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -64,10 +64,10 @@
#include <utils/ps_status.h>
#define NotifyUnlock pg_options[OPT_NOTIFYUNLOCK]
-#define NotifyHack pg_options[OPT_NOTIFYHACK]
+#define NotifyHack pg_options[OPT_NOTIFYHACK]
extern TransactionState CurrentTransactionState;
-extern CommandDest whereToSendOutput;
+extern CommandDest whereToSendOutput;
GlobalMemory notifyContext = NULL;
@@ -119,7 +119,7 @@ Async_NotifyHandler(SIGNAL_ARGS)
else
{
TPRINTF(TRACE_NOTIFY, "Async_NotifyHandler: "
- "process in middle of transaction, state=%d, blockstate=%d",
+ "process in middle of transaction, state=%d, blockstate=%d",
CurrentTransactionState->state,
CurrentTransactionState->blockState);
notifyFrontEndPending = 1;
@@ -213,13 +213,12 @@ Async_Notify(char *relname)
heap_endscan(sRel);
/*
- * Note: if the write lock is unset we can get multiple tuples
- * with same oid if other backends notify the same relation.
- * Use this option at your own risk.
+ * Note: if the write lock is unset we can get multiple tuples with
+ * same oid if other backends notify the same relation. Use this
+ * option at your own risk.
*/
- if (NotifyUnlock) {
+ if (NotifyUnlock)
RelationUnsetLockForWrite(lRel);
- }
heap_close(lRel);
@@ -318,12 +317,13 @@ Async_NotifyAtCommit()
heap_close(lRel);
/*
- * Notify the frontend inside the current transaction while
- * we still have a valid write lock on pg_listeners. This
- * avoid waiting until all other backends have finished
- * with pg_listener.
+ * Notify the frontend inside the current transaction while we
+ * still have a valid write lock on pg_listeners. This avoid
+ * waiting until all other backends have finished with
+ * pg_listener.
*/
- if (notifyFrontEndPending) {
+ if (notifyFrontEndPending)
+ {
/* The aux version is called inside transaction */
Async_NotifyFrontEnd_Aux();
}
@@ -333,14 +333,14 @@ Async_NotifyAtCommit()
}
else
{
+
/*
- * No notifies issued by us. If notifyFrontEndPending has been set
- * by Async_NotifyHandler notify the frontend of pending notifies
- * from other backends.
+ * No notifies issued by us. If notifyFrontEndPending has been
+ * set by Async_NotifyHandler notify the frontend of pending
+ * notifies from other backends.
*/
- if (notifyFrontEndPending) {
+ if (notifyFrontEndPending)
Async_NotifyFrontEnd();
- }
}
ClearPendingNotify();
@@ -368,7 +368,8 @@ Async_NotifyAtCommit()
void
Async_NotifyAtAbort()
{
- if (pendingNotifies) {
+ if (pendingNotifies)
+ {
ClearPendingNotify();
DLFreeList(pendingNotifies);
}
@@ -380,9 +381,7 @@ Async_NotifyAtAbort()
{
/* don't forget to notify front end */
if (notifyFrontEndPending)
- {
Async_NotifyFrontEnd();
- }
}
}
@@ -423,7 +422,8 @@ Async_Listen(char *relname, int pid)
char *relnamei;
TupleDesc tupDesc;
- if (whereToSendOutput != Remote) {
+ if (whereToSendOutput != Remote)
+ {
elog(NOTICE, "Async_Listen: "
"listen not available on interactive sessions");
return;
@@ -459,7 +459,8 @@ Async_Listen(char *relname, int pid)
if (pid == MyProcPid)
alreadyListener = 1;
}
- if (alreadyListener) {
+ if (alreadyListener)
+ {
/* No need to scan the rest of the table */
break;
}
@@ -521,7 +522,8 @@ Async_Unlisten(char *relname, int pid)
HeapTuple lTuple;
/* Handle specially the `unlisten "*"' command */
- if ((!relname) || (*relname == '\0') || (strcmp(relname,"*")==0)) {
+ if ((!relname) || (*relname == '\0') || (strcmp(relname, "*") == 0))
+ {
Async_UnlistenAll();
return;
}
@@ -575,15 +577,13 @@ Async_UnlistenAll()
sRel = heap_beginscan(lRel, 0, SnapshotNow, 1, key);
while (HeapTupleIsValid(lTuple = heap_getnext(sRel, 0)))
- {
heap_delete(lRel, &lTuple->t_ctid);
- }
heap_endscan(sRel);
RelationUnsetLockForWrite(lRel);
heap_close(lRel);
TPRINTF(TRACE_NOTIFY, "Async_UnlistenAll: done");
}
-
+
/*
* --------------------------------------------------------------
* Async_UnlistenOnExit --
@@ -654,7 +654,7 @@ Async_NotifyFrontEnd_Aux()
#define MAX_DONE 64
- char *done[MAX_DONE];
+ char *done[MAX_DONE];
int ndone = 0;
int i;
@@ -687,13 +687,16 @@ Async_NotifyFrontEnd_Aux()
&isnull);
/*
- * This hack deletes duplicate tuples which can be left
- * in the table if the NotifyUnlock option is set.
- * I'm further investigating this. -- dz
+ * This hack deletes duplicate tuples which can be left in the
+ * table if the NotifyUnlock option is set. I'm further
+ * investigating this. -- dz
*/
- if (NotifyHack) {
- for (i=0; i<ndone; i++) {
- if (strcmp(DatumGetName(d)->data, done[i]) == 0) {
+ if (NotifyHack)
+ {
+ for (i = 0; i < ndone; i++)
+ {
+ if (strcmp(DatumGetName(d)->data, done[i]) == 0)
+ {
TPRINTF(TRACE_NOTIFY,
"Async_NotifyFrontEnd: duplicate %s",
DatumGetName(d)->data);
@@ -701,9 +704,8 @@ Async_NotifyFrontEnd_Aux()
continue;
}
}
- if (ndone < MAX_DONE) {
+ if (ndone < MAX_DONE)
done[ndone++] = pstrdup(DatumGetName(d)->data);
- }
}
rTuple = heap_modifytuple(lTuple, lRel, value, nulls, repl);
diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 928a6b5f6d..415ad4a8df 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -14,7 +14,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/cluster.c,v 1.30 1998/09/01 03:21:52 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/cluster.c,v 1.31 1998/09/01 04:27:44 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -47,7 +47,7 @@
#include <optimizer/internal.h>
#ifndef NO_SECURITY
#include <utils/acl.h>
-#endif /* !NO_SECURITY */
+#endif /* !NO_SECURITY */
static Relation copy_heap(Oid OIDOldHeap);
static void copy_index(Oid OIDOldIndex, Oid OIDNewHeap);
@@ -128,7 +128,8 @@ cluster(char *oldrelname, char *oldindexname)
elog(ERROR, "cluster: unknown relation: \"%s\"",
oldrelname);
}
- OIDOldHeap = RelationGetRelid(OldHeap);/* Get OID for the index scan */
+ OIDOldHeap = RelationGetRelid(OldHeap); /* Get OID for the index
+ * scan */
OldIndex = index_openr(oldindexname); /* Open old index relation */
if (!RelationIsValid(OldIndex))
@@ -136,7 +137,7 @@ cluster(char *oldrelname, char *oldindexname)
elog(ERROR, "cluster: unknown index: \"%s\"",
oldindexname);
}
- OIDOldIndex = RelationGetRelid(OldIndex); /* OID for the index scan */
+ OIDOldIndex = RelationGetRelid(OldIndex); /* OID for the index scan */
heap_close(OldHeap);
index_close(OldIndex);
diff --git a/src/backend/commands/command.c b/src/backend/commands/command.c
index 5fdc9fd0c7..47f6e8ae3c 100644
--- a/src/backend/commands/command.c
+++ b/src/backend/commands/command.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.31 1998/09/01 03:21:53 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.32 1998/09/01 04:27:46 momjian Exp $
*
* NOTES
* The PortalExecutorHeapMemory crap needs to be eliminated
@@ -422,16 +422,16 @@ PerformAddAttribute(char *relationName,
int attnelems;
tup = SearchSysCacheTuple(ATTNAME,
- ObjectIdGetDatum(reltup->t_oid),
- PointerGetDatum(colDef->colname),
- 0, 0);
+ ObjectIdGetDatum(reltup->t_oid),
+ PointerGetDatum(colDef->colname),
+ 0, 0);
if (HeapTupleIsValid(tup))
{
heap_close(attrdesc);
heap_close(rel);
elog(ERROR, "PerformAddAttribute: attribute \"%s\" already exists in class \"%s\"",
- colDef->colname, relationName);
+ colDef->colname, relationName);
}
/*
diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c
index f13a0ece82..2f0b6d2833 100644
--- a/src/backend/commands/copy.c
+++ b/src/backend/commands/copy.c
@@ -6,7 +6,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.58 1998/09/01 03:21:55 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.59 1998/09/01 04:27:47 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -52,8 +52,7 @@ static Oid GetOutputFunction(Oid type);
static Oid GetTypeElement(Oid type);
static Oid GetInputFunction(Oid type);
static Oid IsTypeByVal(Oid type);
-static void
-GetIndexRelations(Oid main_relation_oid,
+static void GetIndexRelations(Oid main_relation_oid,
int *n_indices,
Relation **index_rels);
@@ -108,17 +107,17 @@ DoCopy(char *relname, bool binary, bool oids, bool from, bool pipe,
the class.
----------------------------------------------------------------------------*/
- static FILE *fp; /* static for cleanup */
- static bool file_opened = false; /* static for cleanup */
+ static FILE *fp; /* static for cleanup */
+ static bool file_opened = false; /* static for cleanup */
Relation rel;
extern char *UserName; /* defined in global.c */
const AclMode required_access = from ? ACL_WR : ACL_RD;
int result;
/*
- * Close previous file opened for COPY but failed with elog().
- * There should be a better way, but would not be modular.
- * Prevents file descriptor leak. bjm 1998/08/29
+ * Close previous file opened for COPY but failed with elog(). There
+ * should be a better way, but would not be modular. Prevents file
+ * descriptor leak. bjm 1998/08/29
*/
if (file_opened)
FreeFile(fp);
@@ -449,7 +448,7 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
itupdescArr[i] = RelationGetDescr(index_rels[i]);
pgIndexTup =
SearchSysCacheTuple(INDEXRELID,
- ObjectIdGetDatum(RelationGetRelid(index_rels[i])),
+ ObjectIdGetDatum(RelationGetRelid(index_rels[i])),
0, 0, 0);
Assert(pgIndexTup);
pgIndexP[i] = (Form_pg_index) GETSTRUCT(pgIndexTup);
@@ -500,7 +499,7 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
/* SetSlotShouldFree(slot, false); */
slot->ttc_buffer = (Buffer) NULL;
slot->ttc_shouldFree = false;
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
}
else
@@ -766,7 +765,7 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
/* SetSlotContents(slot, tuple); */
if (ExecQual((List *) indexPred[i], econtext) == false)
continue;
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
}
FormIndexDatum(indexNatts[i],
(AttrNumber *) &(pgIndexP[i]->indkey[0]),
@@ -1022,11 +1021,13 @@ CopyReadAttribute(FILE *fp, bool *isnull, char *delim)
char c;
int done = 0;
int i = 0;
+
#ifdef MULTIBYTE
- int mblen;
- int encoding;
- unsigned char s[2];
- int j;
+ int mblen;
+ int encoding;
+ unsigned char s[2];
+ int j;
+
#endif
#ifdef MULTIBYTE
@@ -1136,22 +1137,23 @@ CopyReadAttribute(FILE *fp, bool *isnull, char *delim)
if (!done)
attribute[i++] = c;
#ifdef MULTIBYTE
- s[0] = c;
- mblen = pg_encoding_mblen(encoding, s);
- mblen--;
- for(j=0;j<mblen;j++) {
- c = getc(fp);
- if (feof(fp))
- return NULL;
- attribute[i++] = c;
- }
+ s[0] = c;
+ mblen = pg_encoding_mblen(encoding, s);
+ mblen--;
+ for (j = 0; j < mblen; j++)
+ {
+ c = getc(fp);
+ if (feof(fp))
+ return NULL;
+ attribute[i++] = c;
+ }
#endif
if (i == EXT_ATTLEN - 1)
elog(ERROR, "CopyReadAttribute - attribute length too long. line: %d", lineno);
}
attribute[i] = '\0';
#ifdef MULTIBYTE
- return(pg_client_to_server((unsigned char*)attribute, strlen(attribute)));
+ return (pg_client_to_server((unsigned char *) attribute, strlen(attribute)));
#else
return &attribute[0];
#endif
@@ -1160,13 +1162,14 @@ CopyReadAttribute(FILE *fp, bool *isnull, char *delim)
static void
CopyAttributeOut(FILE *fp, char *server_string, char *delim, int is_array)
{
- char *string;
+ char *string;
char c;
#ifdef MULTIBYTE
- int mblen;
- int encoding;
- int i;
+ int mblen;
+ int encoding;
+ int i;
+
#endif
#ifdef MULTIBYTE
@@ -1178,7 +1181,7 @@ CopyAttributeOut(FILE *fp, char *server_string, char *delim, int is_array)
#ifdef MULTIBYTE
for (; (mblen = pg_encoding_mblen(encoding, string)) &&
- ((c = *string) != '\0'); string += mblen)
+ ((c = *string) != '\0'); string += mblen)
#else
for (; (c = *string) != '\0'; string++)
#endif
@@ -1204,9 +1207,8 @@ CopyAttributeOut(FILE *fp, char *server_string, char *delim, int is_array)
}
}
#ifdef MULTIBYTE
- for (i=0;i<mblen;i++) {
- fputc(*(string+i), fp);
- }
+ for (i = 0; i < mblen; i++)
+ fputc(*(string + i), fp);
#else
fputc(*string, fp);
#endif
diff --git a/src/backend/commands/creatinh.c b/src/backend/commands/creatinh.c
index 0286ab4659..ae4495655d 100644
--- a/src/backend/commands/creatinh.c
+++ b/src/backend/commands/creatinh.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.33 1998/09/01 03:21:56 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.34 1998/09/01 04:27:49 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -33,8 +33,7 @@
* ----------------
*/
-static int
-checkAttrExists(char *attributeName,
+static int checkAttrExists(char *attributeName,
char *attributeType, List *schema);
static List *MergeAttributes(List *schema, List *supers, List **supconstr);
static void StoreCatalogInheritance(Oid relationId, List *supers);
@@ -404,7 +403,7 @@ StoreCatalogInheritance(Oid relationId, List *supers)
char nullarr[Natts_pg_inherits];
tuple = SearchSysCacheTuple(RELNAME,
- PointerGetDatum(strVal(lfirst(entry))),
+ PointerGetDatum(strVal(lfirst(entry))),
0, 0, 0);
AssertArg(HeapTupleIsValid(tuple));
diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c
index 3954eb78de..5ae406b905 100644
--- a/src/backend/commands/dbcommands.c
+++ b/src/backend/commands/dbcommands.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.23 1998/09/01 03:21:57 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.24 1998/09/01 04:27:51 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -36,8 +36,7 @@
/* non-export function prototypes */
-static void
-check_permissions(char *command, char *dbpath, char *dbname,
+static void check_permissions(char *command, char *dbpath, char *dbname,
Oid *dbIdP, int4 *userIdP);
static HeapTuple get_pg_dbtup(char *command, char *dbname, Relation dbrel);
static void stop_vacuum(char *dbpath, char *dbname);
@@ -46,7 +45,7 @@ void
createdb(char *dbname, char *dbpath, int encoding)
{
Oid db_id;
- int4 user_id;
+ int4 user_id;
char buf[512];
char *lp,
loc[512];
@@ -100,7 +99,7 @@ createdb(char *dbname, char *dbpath, int encoding)
void
destroydb(char *dbname)
{
- int4 user_id;
+ int4 user_id;
Oid db_id;
char *path;
char dbpath[MAXPGPATH + 1];
@@ -203,8 +202,8 @@ check_permissions(char *command,
userName = GetPgUserName();
utup = SearchSysCacheTuple(USENAME,
- PointerGetDatum(userName),
- 0, 0, 0);
+ PointerGetDatum(userName),
+ 0, 0, 0);
*userIdP = ((Form_pg_shadow) GETSTRUCT(utup))->usesysid;
use_super = ((Form_pg_shadow) GETSTRUCT(utup))->usesuper;
use_createdb = ((Form_pg_shadow) GETSTRUCT(utup))->usecreatedb;
@@ -249,9 +248,9 @@ check_permissions(char *command,
if (dbfound)
{
dbowner = (int4) heap_getattr(dbtup,
- Anum_pg_database_datdba,
- RelationGetDescr(dbrel),
- (char *) NULL);
+ Anum_pg_database_datdba,
+ RelationGetDescr(dbrel),
+ (char *) NULL);
*dbIdP = dbtup->t_oid;
dbtext = (text *) heap_getattr(dbtup,
Anum_pg_database_datpath,
diff --git a/src/backend/commands/defind.c b/src/backend/commands/defind.c
index 342a99b127..ab6e26f1e1 100644
--- a/src/backend/commands/defind.c
+++ b/src/backend/commands/defind.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/Attic/defind.c,v 1.25 1998/09/01 03:21:58 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/Attic/defind.c,v 1.26 1998/09/01 04:27:52 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -41,16 +41,13 @@
/* non-export function prototypes */
static void CheckPredicate(List *predList, List *rangeTable, Oid baseRelOid);
-static void
-CheckPredExpr(Node *predicate, List *rangeTable,
+static void CheckPredExpr(Node *predicate, List *rangeTable,
Oid baseRelOid);
static void
CheckPredClause(Expr *predicate, List *rangeTable, Oid baseRelOid);
-static void
-FuncIndexArgs(IndexElem *funcIndex, AttrNumber *attNumP,
+static void FuncIndexArgs(IndexElem *funcIndex, AttrNumber *attNumP,
Oid *argTypes, Oid *opOidP, Oid relId);
-static void
-NormIndexAttrs(List *attList, AttrNumber *attNumP,
+static void NormIndexAttrs(List *attList, AttrNumber *attNumP,
Oid *opOidP, Oid relId);
static char *GetDefaultOpClass(Oid atttypid);
@@ -197,7 +194,7 @@ DefineIndex(char *heapRelationName,
else
{
attributeNumberA = (AttrNumber *) palloc(numberOfAttributes *
- sizeof attributeNumberA[0]);
+ sizeof attributeNumberA[0]);
classObjectId =
(Oid *) palloc(numberOfAttributes * sizeof classObjectId[0]);
@@ -468,7 +465,8 @@ NormIndexAttrs(List *attList, /* list of IndexElem's */
Oid relId)
{
List *rest;
- HeapTuple atttuple, tuple;
+ HeapTuple atttuple,
+ tuple;
/*
* process attributeList
@@ -485,9 +483,9 @@ NormIndexAttrs(List *attList, /* list of IndexElem's */
elog(ERROR, "missing attribute for define index");
atttuple = SearchSysCacheTupleCopy(ATTNAME,
- ObjectIdGetDatum(relId),
- PointerGetDatum(attribute->name),
- 0, 0);
+ ObjectIdGetDatum(relId),
+ PointerGetDatum(attribute->name),
+ 0, 0);
if (!HeapTupleIsValid(atttuple))
{
elog(ERROR,
@@ -502,8 +500,8 @@ NormIndexAttrs(List *attList, /* list of IndexElem's */
if (attribute->typename == NULL)
{
tuple = SearchSysCacheTuple(TYPOID,
- ObjectIdGetDatum(attform->atttypid),
- 0, 0, 0);
+ ObjectIdGetDatum(attform->atttypid),
+ 0, 0, 0);
if (!HeapTupleIsValid(tuple))
elog(ERROR, "create index: type for attribute '%s' undefined",
attribute->name);
diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c
index 3178dd2d8a..63534050f1 100644
--- a/src/backend/commands/explain.c
+++ b/src/backend/commands/explain.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.23 1998/08/04 16:43:54 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.24 1998/09/01 04:27:53 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -83,7 +83,7 @@ ExplainQuery(Query *query, bool verbose, CommandDest dest)
if (es->printNodes)
s = nodeToString(plan);
-
+
if (es->printCost)
{
s2 = Explain_PlanToString(plan, es);
@@ -107,7 +107,7 @@ ExplainQuery(Query *query, bool verbose, CommandDest dest)
len -= ELOG_MAXLEN - 64;
}
if (es->printNodes)
- pprint(plan); /* display in postmaster log file */
+ pprint(plan); /* display in postmaster log file */
pfree(es);
}
@@ -123,7 +123,7 @@ ExplainQuery(Query *query, bool verbose, CommandDest dest)
static void
explain_outNode(StringInfo str, Plan *plan, int indent, ExplainState *es)
{
- List *l;
+ List *l;
Relation relation;
char *pname;
char buf[1000];
@@ -280,11 +280,11 @@ explain_outNode(StringInfo str, Plan *plan, int indent, ExplainState *es)
List *saved_rtable = es->rtable;
List *lst;
int whichplan = 0;
- Append *appendplan = (Append *)plan;
+ Append *appendplan = (Append *) plan;
foreach(lst, appendplan->appendplans)
{
- Plan *subnode = (Plan *)lfirst(lst);
+ Plan *subnode = (Plan *) lfirst(lst);
if (appendplan->inheritrelid > 0)
{
diff --git a/src/backend/commands/proclang.c b/src/backend/commands/proclang.c
index f3c4d4b6e1..86f24d9678 100644
--- a/src/backend/commands/proclang.c
+++ b/src/backend/commands/proclang.c
@@ -162,8 +162,8 @@ DropProceduralLanguage(DropPLangStmt *stmt)
case_translate_language_name(stmt->plname, languageName);
langTup = SearchSysCacheTupleCopy(LANNAME,
- PointerGetDatum(languageName),
- 0, 0, 0);
+ PointerGetDatum(languageName),
+ 0, 0, 0);
if (!HeapTupleIsValid(langTup))
elog(ERROR, "Language %s doesn't exist", languageName);
diff --git a/src/backend/commands/recipe.c b/src/backend/commands/recipe.c
index 4d06c57feb..f8b7ce15df 100644
--- a/src/backend/commands/recipe.c
+++ b/src/backend/commands/recipe.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/Attic/recipe.c,v 1.23 1998/09/01 03:22:01 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/Attic/recipe.c,v 1.24 1998/09/01 04:27:56 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -64,39 +64,31 @@ typedef struct _teeInfo
QueryTreeList *appendQlist(QueryTreeList *q1, QueryTreeList *q2);
void OffsetVarAttno(Node *node, int varno, int offset);
-static void
-appendTeeQuery(TeeInfo * teeInfo,
+static void appendTeeQuery(TeeInfo * teeInfo,
QueryTreeList *q,
char *teeNodeName);
-static Plan *
-replaceTeeScans(Plan *plan,
+static Plan *replaceTeeScans(Plan *plan,
Query *parsetree,
TeeInfo * teeInfo);
-static void
-replaceSeqScan(Plan *plan,
+static void replaceSeqScan(Plan *plan,
Plan *parent,
int rt_ind,
Plan *tplan);
-static void
-tg_rewriteQuery(TgRecipe * r, TgNode * n,
+static void tg_rewriteQuery(TgRecipe * r, TgNode * n,
QueryTreeList *q,
QueryTreeList *inputQlist);
-static Node *
-tg_replaceNumberedParam(Node *expression,
+static Node *tg_replaceNumberedParam(Node *expression,
int pnum,
int rt_ind,
char *teeRelName);
-static Node *
-tg_rewriteParamsInExpr(Node *expression,
+static Node *tg_rewriteParamsInExpr(Node *expression,
QueryTreeList *inputQlist);
-static QueryTreeList *
-tg_parseSubQuery(TgRecipe * r,
+static QueryTreeList *tg_parseSubQuery(TgRecipe * r,
TgNode * n,
TeeInfo * teeInfo);
-static QueryTreeList *
-tg_parseTeeNode(TgRecipe * r,
+static QueryTreeList *tg_parseTeeNode(TgRecipe * r,
TgNode * n,
int i,
QueryTreeList *qList,
@@ -193,7 +185,7 @@ beginRecipe(RecipeStmt *stmt)
#ifdef DEBUG_RECIPE
elog(NOTICE, "beginRecipe: eyes[%d] = %s\n", i, e->nodeName);
-#endif /* DEBUG_RECIPE */
+#endif /* DEBUG_RECIPE */
qList = tg_parseSubQuery(r, e->inNodes->val[0], teeInfo);
@@ -851,7 +843,7 @@ tg_parseSubQuery(TgRecipe * r, TgNode * n, TeeInfo * teeInfo)
#ifdef DEBUG_RECIPE
elog(NOTICE, "calling parser with %s", elem->src);
-#endif /* DEBUG_RECIPE */
+#endif /* DEBUG_RECIPE */
parameterCount = getParamTypes(elem, typev);
@@ -894,7 +886,7 @@ tg_parseSubQuery(TgRecipe * r, TgNode * n, TeeInfo * teeInfo)
#ifdef DEBUG_RECIPE
elog(NOTICE, "calling parser with %s", newquery);
-#endif /* DEBUG_RECIPE */
+#endif /* DEBUG_RECIPE */
qList = parser(newquery, typev, parameterCount);
if (qList->len > 1)
@@ -1032,8 +1024,8 @@ tg_parseSubQuery(TgRecipe * r, TgNode * n, TeeInfo * teeInfo)
tupdesc = rel->rd_att;
relid = heap_create_with_catalog(
- child->nodeElem->outTypes->val[0],
- tupdesc, RELKIND_RELATION);
+ child->nodeElem->outTypes->val[0],
+ tupdesc, RELKIND_RELATION);
}
else
{
@@ -1056,8 +1048,8 @@ tg_parseSubQuery(TgRecipe * r, TgNode * n, TeeInfo * teeInfo)
else
{
relid = heap_create_with_catalog(
- child->nodeElem->outTypes->val[0],
- tupdesc, RELKIND_RELATION);
+ child->nodeElem->outTypes->val[0],
+ tupdesc, RELKIND_RELATION);
}
}
}
@@ -1338,4 +1330,4 @@ replaceTeeScans(Plan *plan, Query *parsetree, TeeInfo * teeInfo)
-#endif /* TIOGA */
+#endif /* TIOGA */
diff --git a/src/backend/commands/remove.c b/src/backend/commands/remove.c
index aa828ec4d8..cc68739f53 100644
--- a/src/backend/commands/remove.c
+++ b/src/backend/commands/remove.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/Attic/remove.c,v 1.28 1998/09/01 03:22:02 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/Attic/remove.c,v 1.29 1998/09/01 04:27:57 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -57,7 +57,7 @@ RemoveOperator(char *operatorName, /* operator name */
bool defined;
char *userName;
char oprtype;
-
+
if (typeName1)
{
typeId1 = TypeGet(typeName1, &defined);
@@ -86,11 +86,11 @@ RemoveOperator(char *operatorName, /* operator name */
oprtype = 'r';
tup = SearchSysCacheTupleCopy(OPRNAME,
- PointerGetDatum(operatorName),
- ObjectIdGetDatum(typeId1),
- ObjectIdGetDatum(typeId2),
- CharGetDatum(oprtype));
-
+ PointerGetDatum(operatorName),
+ ObjectIdGetDatum(typeId1),
+ ObjectIdGetDatum(typeId2),
+ CharGetDatum(oprtype));
+
relation = heap_openr(OperatorRelationName);
if (HeapTupleIsValid(tup))
{
@@ -150,7 +150,7 @@ SingleOpOperatorRemove(Oid typeOid)
int i;
ScanKeyEntryInitialize(&key[0],
- 0, 0, F_OIDEQ, (Datum) typeOid);
+ 0, 0, F_OIDEQ, (Datum) typeOid);
rel = heap_openr(OperatorRelationName);
for (i = 0; i < 3; ++i)
{
@@ -192,7 +192,7 @@ AttributeAndRelationRemove(Oid typeOid)
*/
ScanKeyEntryInitialize(&key[0],
- 0, 3, F_OIDEQ, (Datum) typeOid);
+ 0, 3, F_OIDEQ, (Datum) typeOid);
oidptr = (struct oidlist *) palloc(sizeof(*oidptr));
oidptr->next = NULL;
@@ -232,7 +232,7 @@ AttributeAndRelationRemove(Oid typeOid)
heap_close(rel);
}
-#endif /* NOTYET */
+#endif /* NOTYET */
/*
* TypeRemove
@@ -257,15 +257,15 @@ RemoveType(char *typeName) /* type name to be removed */
relation = heap_openr(TypeRelationName);
tup = SearchSysCacheTuple(TYPNAME,
- PointerGetDatum(typeName),
- 0, 0, 0);
+ PointerGetDatum(typeName),
+ 0, 0, 0);
if (!HeapTupleIsValid(tup))
{
heap_close(relation);
elog(ERROR, "RemoveType: type '%s' does not exist", typeName);
}
-
+
relation = heap_openr(TypeRelationName);
typeOid = tup->t_oid;
heap_delete(relation, &tup->t_ctid);
@@ -273,8 +273,8 @@ RemoveType(char *typeName) /* type name to be removed */
/* Now, Delete the "array of" that type */
shadow_type = makeArrayTypeName(typeName);
tup = SearchSysCacheTuple(TYPNAME,
- PointerGetDatum(shadow_type),
- 0, 0, 0);
+ PointerGetDatum(shadow_type),
+ 0, 0, 0);
if (!HeapTupleIsValid(tup))
{
heap_close(relation);
@@ -308,7 +308,7 @@ RemoveFunction(char *functionName, /* function name to be removed */
char *typename;
int i;
-
+
MemSet(argList, 0, 8 * sizeof(Oid));
for (i = 0; i < nargs; i++)
{
@@ -340,10 +340,10 @@ RemoveFunction(char *functionName, /* function name to be removed */
relation = heap_openr(ProcedureRelationName);
tup = SearchSysCacheTuple(PRONAME,
- PointerGetDatum(functionName),
- Int32GetDatum(nargs),
- PointerGetDatum(argList),
- 0);
+ PointerGetDatum(functionName),
+ Int32GetDatum(nargs),
+ PointerGetDatum(argList),
+ 0);
if (!HeapTupleIsValid(tup))
{
@@ -353,8 +353,8 @@ RemoveFunction(char *functionName, /* function name to be removed */
if ((((Form_pg_proc) GETSTRUCT(tup))->prolang) == INTERNALlanguageId)
{
- heap_close(relation);
- elog(ERROR, "RemoveFunction: function \"%s\" is built-in",functionName);
+ heap_close(relation);
+ elog(ERROR, "RemoveFunction: function \"%s\" is built-in", functionName);
}
heap_delete(relation, &tup->t_ctid);
@@ -410,9 +410,9 @@ RemoveAggregate(char *aggName, char *aggType)
relation = heap_openr(AggregateRelationName);
tup = SearchSysCacheTuple(AGGNAME,
- PointerGetDatum(aggName),
- ObjectIdGetDatum(basetypeID),
- 0, 0);
+ PointerGetDatum(aggName),
+ ObjectIdGetDatum(basetypeID),
+ 0, 0);
if (!HeapTupleIsValid(tup))
{
diff --git a/src/backend/commands/rename.c b/src/backend/commands/rename.c
index 25243224af..31f193d053 100644
--- a/src/backend/commands/rename.c
+++ b/src/backend/commands/rename.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/Attic/rename.c,v 1.16 1998/09/01 03:22:04 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/Attic/rename.c,v 1.17 1998/09/01 04:27:59 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -36,7 +36,7 @@
#include <optimizer/prep.h> /* for find_all_inheritors */
#ifndef NO_SECURITY
#include <utils/acl.h>
-#endif /* !NO_SECURITY */
+#endif /* !NO_SECURITY */
#ifndef HAVE_MEMMOVE
#include <regex/utils.h>
#else
@@ -73,7 +73,7 @@ renameatt(char *relname,
newatttup;
Relation irelations[Num_pg_attr_indices];
Oid relid;
-
+
/*
* permissions checking. this would normally be done in utility.c,
* but this particular routine is recursive.
@@ -111,12 +111,10 @@ renameatt(char *relname,
0, 0, 0);
if (!HeapTupleIsValid(reltup))
- {
elog(ERROR, "renameatt: unknown relation: \"%s\"", relname);
- }
myrelid = reltup->t_oid;
-
+
/* this routine is actually in the planner */
children = find_all_inheritors(lconsi(myrelid, NIL), NIL);
@@ -127,7 +125,7 @@ renameatt(char *relname,
*/
foreach(child, children)
{
- char childname[NAMEDATALEN];
+ char childname[NAMEDATALEN];
childrelid = lfirsti(child);
if (childrelid == myrelid)
@@ -142,10 +140,10 @@ renameatt(char *relname,
}
/* make copy of cache value, could disappear in call */
StrNCpy(childname,
- ((Form_pg_class) GETSTRUCT(reltup))->relname.data,
- NAMEDATALEN);
+ ((Form_pg_class) GETSTRUCT(reltup))->relname.data,
+ NAMEDATALEN);
/* no more recursion! */
- renameatt(childname, oldattname, newattname, userName, 0);
+ renameatt(childname, oldattname, newattname, userName, 0);
}
}
@@ -158,9 +156,9 @@ renameatt(char *relname,
relid = reltup->t_oid;
oldatttup = SearchSysCacheTupleCopy(ATTNAME,
- ObjectIdGetDatum(relid),
- PointerGetDatum(oldattname),
- 0, 0);
+ ObjectIdGetDatum(relid),
+ PointerGetDatum(oldattname),
+ 0, 0);
if (!HeapTupleIsValid(oldatttup))
elog(ERROR, "renameatt: attribute \"%s\" nonexistent", oldattname);
@@ -168,9 +166,9 @@ renameatt(char *relname,
elog(ERROR, "renameatt: system attribute \"%s\" not renamed", oldattname);
newatttup = SearchSysCacheTuple(ATTNAME,
- ObjectIdGetDatum(relid),
- PointerGetDatum(newattname),
- 0, 0);
+ ObjectIdGetDatum(relid),
+ PointerGetDatum(newattname),
+ 0, 0);
/* should not already exist */
if (HeapTupleIsValid(newatttup))
{
@@ -179,7 +177,7 @@ renameatt(char *relname,
}
StrNCpy((((Form_pg_attribute) (GETSTRUCT(oldatttup)))->attname.data),
- newattname, NAMEDATALEN);
+ newattname, NAMEDATALEN);
attrelation = heap_openr(AttributeRelationName);
heap_replace(attrelation, &oldatttup->t_ctid, oldatttup);
@@ -212,13 +210,13 @@ renameatt(char *relname,
void
renamerel(char *oldrelname, char *newrelname)
{
- Relation relrelation; /* for RELATION relation */
+ Relation relrelation; /* for RELATION relation */
HeapTuple oldreltup,
newreltup;
char oldpath[MAXPGPATH],
newpath[MAXPGPATH];
Relation irelations[Num_pg_class_indices];
-
+
if (IsSystemRelationName(oldrelname))
elog(ERROR, "renamerel: system relation \"%s\" not renamed",
oldrelname);
@@ -228,14 +226,14 @@ renamerel(char *oldrelname, char *newrelname)
newrelname);
oldreltup = SearchSysCacheTupleCopy(RELNAME,
- PointerGetDatum(oldrelname),
- 0, 0, 0);
+ PointerGetDatum(oldrelname),
+ 0, 0, 0);
if (!HeapTupleIsValid(oldreltup))
elog(ERROR, "renamerel: relation \"%s\" does not exist", oldrelname);
newreltup = SearchSysCacheTuple(RELNAME,
- PointerGetDatum(newrelname),
- 0, 0, 0);
+ PointerGetDatum(newrelname),
+ 0, 0, 0);
if (HeapTupleIsValid(newreltup))
elog(ERROR, "renamerel: relation \"%s\" exists", newrelname);
@@ -246,7 +244,7 @@ renamerel(char *oldrelname, char *newrelname)
elog(ERROR, "renamerel: unable to rename file: %s", oldpath);
StrNCpy((((Form_pg_class) GETSTRUCT(oldreltup))->relname.data),
- newrelname, NAMEDATALEN);
+ newrelname, NAMEDATALEN);
/* insert fixed rel tuple */
relrelation = heap_openr(RelationRelationName);
diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c
index e73981e813..7d9bd1d660 100644
--- a/src/backend/commands/sequence.c
+++ b/src/backend/commands/sequence.c
@@ -316,9 +316,9 @@ currval(struct varlena * seqin)
int4
setval(struct varlena * seqin, int4 next)
{
- char *seqname = textout(seqin);
+ char *seqname = textout(seqin);
SeqTable elm;
- Buffer buf;
+ Buffer buf;
Form_pg_sequence seq;
ItemPointerData iptr;
@@ -329,17 +329,20 @@ setval(struct varlena * seqin, int4 next)
#endif
/* open and WIntentLock sequence */
- elm = init_sequence ("setval", seqname);
- seq = read_info ("setval", elm, &buf); /* lock page and read tuple */
+ elm = init_sequence("setval", seqname);
+ seq = read_info("setval", elm, &buf); /* lock page and read
+ * tuple */
- if ( seq->cache_value != 1 ) {
- elog (ERROR, "%s.setval: can't set value of sequence %s, cache != 1",
- seqname, seqname);
+ if (seq->cache_value != 1)
+ {
+ elog(ERROR, "%s.setval: can't set value of sequence %s, cache != 1",
+ seqname, seqname);
}
- if ((next < seq->min_value) || (next > seq->max_value)) {
- elog (ERROR, "%s.setval: value %d is of of bounds (%d,%d)",
- seqname, next, seq->min_value, seq->max_value);
+ if ((next < seq->min_value) || (next > seq->max_value))
+ {
+ elog(ERROR, "%s.setval: value %d is of of bounds (%d,%d)",
+ seqname, next, seq->min_value, seq->max_value);
}
/* save info in local cache */
@@ -350,11 +353,11 @@ setval(struct varlena * seqin, int4 next)
seq->last_value = next; /* last fetched number */
seq->is_called = 't';
- if ( WriteBuffer (buf) == STATUS_ERROR )
- elog (ERROR, "%s.settval: WriteBuffer failed", seqname);
+ if (WriteBuffer(buf) == STATUS_ERROR)
+ elog(ERROR, "%s.settval: WriteBuffer failed", seqname);
ItemPointerSet(&iptr, 0, FirstOffsetNumber);
- RelationUnsetSingleWLockPage (elm->rel, &iptr);
+ RelationUnsetSingleWLockPage(elm->rel, &iptr);
return next;
}
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c
index f26860cfb7..9636466bff 100644
--- a/src/backend/commands/trigger.c
+++ b/src/backend/commands/trigger.c
@@ -40,8 +40,7 @@ void RelationBuildTriggers(Relation relation);
void FreeTriggerDesc(Relation relation);
static void DescribeTrigger(TriggerDesc *trigdesc, Trigger *trigger);
-static HeapTuple
-GetTupleForTrigger(Relation relation, ItemPointer tid,
+static HeapTuple GetTupleForTrigger(Relation relation, ItemPointer tid,
bool before);
extern GlobalMemory CacheCxt;
@@ -220,8 +219,8 @@ CreateTrigger(CreateTrigStmt *stmt)
/* update pg_class */
tuple = SearchSysCacheTupleCopy(RELNAME,
- PointerGetDatum(stmt->relname),
- 0, 0, 0);
+ PointerGetDatum(stmt->relname),
+ 0, 0, 0);
if (!HeapTupleIsValid(tuple))
elog(ERROR, "CreateTrigger: relation %s not found in pg_class", stmt->relname);
@@ -258,7 +257,7 @@ DropTrigger(DropTrigStmt *stmt)
MemoryContext oldcxt;
int found = 0;
int tgfound = 0;
-
+
#ifndef NO_SECURITY
if (!pg_ownercheck(GetPgUserName(), stmt->relname, RELNAME))
elog(ERROR, "%s: %s", stmt->relname, aclcheck_error_strings[ACLCHECK_NOT_OWNER]);
@@ -298,8 +297,8 @@ DropTrigger(DropTrigStmt *stmt)
heap_close(tgrel);
tuple = SearchSysCacheTupleCopy(RELNAME,
- PointerGetDatum(stmt->relname),
- 0, 0, 0);
+ PointerGetDatum(stmt->relname),
+ 0, 0, 0);
if (!HeapTupleIsValid(tuple))
elog(ERROR, "DropTrigger: relation %s not found in pg_class", stmt->relname);
diff --git a/src/backend/commands/user.c b/src/backend/commands/user.c
index a61bfd5f2e..e1aaa4cb22 100644
--- a/src/backend/commands/user.c
+++ b/src/backend/commands/user.c
@@ -263,7 +263,7 @@ AlterUser(AlterUserStmt *stmt)
{
RelationUnsetLockForWrite(pg_shadow_rel);
heap_close(pg_shadow_rel);
- UserAbortTransactionBlock(); /* needed? */
+ UserAbortTransactionBlock(); /* needed? */
elog(ERROR, "alterUser: user \"%s\" does not exist", stmt->user);
return;
}
@@ -430,8 +430,8 @@ RemoveUser(char *user)
* tables, views, etc owned by the user.
*
* The second option would be to create a means of deleting tables, view,
- * etc. owned by the user from other databases. pg_shadow is global and
- * so this must be done at some point.
+ * etc. owned by the user from other databases. pg_shadow is global
+ * and so this must be done at some point.
*
* Let us not forget that the user should be removed from the pg_groups
* also.
@@ -466,8 +466,8 @@ CheckPgUserAclNotNull()
HeapTuple htup;
htup = SearchSysCacheTuple(RELNAME,
- PointerGetDatum(ShadowRelationName),
- 0, 0, 0);
+ PointerGetDatum(ShadowRelationName),
+ 0, 0, 0);
if (!HeapTupleIsValid(htup))
{
elog(ERROR, "IsPgUserAclNull: class \"%s\" not found",
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c
index 1d522795b2..9898f58188 100644
--- a/src/backend/commands/vacuum.c
+++ b/src/backend/commands/vacuum.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.79 1998/09/01 03:22:08 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.80 1998/09/01 04:28:05 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -288,7 +288,7 @@ vc_getrels(NameData *VacRelP)
else
{
ScanKeyEntryInitialize(&key, 0x0, Anum_pg_class_relkind,
- F_CHAREQ, CharGetDatum('r'));
+ F_CHAREQ, CharGetDatum('r'));
}
portalmem = PortalGetVariableMemory(vc_portal);
@@ -377,16 +377,16 @@ vc_vacone(Oid relid, bool analyze, List *va_cols)
HeapTuple tuple,
typetuple;
Relation onerel;
- VPageListData vacuum_pages; /* List of pages to vacuum and/or clean
+ VPageListData vacuum_pages; /* List of pages to vacuum and/or clean
* indices */
- VPageListData fraged_pages; /* List of pages with space enough for
+ VPageListData fraged_pages; /* List of pages with space enough for
* re-using */
VPageDescr *vpp;
Relation *Irel;
int32 nindices,
i;
VRelStats *vacrelstats;
-
+
StartTransactionCommand();
rel = heap_openr(RelationRelationName);
@@ -397,8 +397,8 @@ vc_vacone(Oid relid, bool analyze, List *va_cols)
* last time we saw it, we don't need to vacuum it.
*/
tuple = SearchSysCacheTuple(RELOID,
- ObjectIdGetDatum(relid),
- 0, 0, 0);
+ ObjectIdGetDatum(relid),
+ 0, 0, 0);
if (!HeapTupleIsValid(tuple))
{
heap_close(rel);
@@ -499,8 +499,8 @@ vc_vacone(Oid relid, bool analyze, List *va_cols)
stats->f_cmpgt.fn_addr = NULL;
typetuple = SearchSysCacheTuple(TYPOID,
- ObjectIdGetDatum(stats->attr->atttypid),
- 0, 0, 0);
+ ObjectIdGetDatum(stats->attr->atttypid),
+ 0, 0, 0);
if (HeapTupleIsValid(typetuple))
stats->outfunc = ((Form_pg_type) GETSTRUCT(typetuple))->typoutput;
else
@@ -549,13 +549,14 @@ vc_vacone(Oid relid, bool analyze, List *va_cols)
}
}
- if (fraged_pages.vpl_num_pages > 0) /* Try to shrink heap */
+ if (fraged_pages.vpl_num_pages > 0) /* Try to shrink heap */
vc_rpfheap(vacrelstats, onerel, &vacuum_pages, &fraged_pages, nindices, Irel);
else
{
if (Irel != (Relation *) NULL)
vc_clsindices(nindices, Irel);
- if (vacuum_pages.vpl_num_pages > 0)/* Clean pages from vacuum_pages list */
+ if (vacuum_pages.vpl_num_pages > 0) /* Clean pages from
+ * vacuum_pages list */
vc_vacheap(vacrelstats, onerel, &vacuum_pages);
}
@@ -644,7 +645,7 @@ vc_scanheap(VRelStats *vacrelstats, Relation onerel,
vpc->vpd_offsets_used = 0;
elog(MESSAGE_LEVEL, "--Relation %s--", relname);
-
+
for (blkno = 0; blkno < nblocks; blkno++)
{
buf = ReadBuffer(onerel, blkno);
@@ -875,8 +876,8 @@ vc_scanheap(VRelStats *vacrelstats, Relation onerel,
fraged_pages->vpl_empty_end_pages = empty_end_pages;
/*
- * Try to make fraged_pages keeping in mind that we can't use free space of
- * "empty" end-pages and last page if it reapped.
+ * Try to make fraged_pages keeping in mind that we can't use free
+ * space of "empty" end-pages and last page if it reapped.
*/
if (do_shrinking && vacuum_pages->vpl_num_pages - empty_end_pages > 0)
{
@@ -1010,9 +1011,9 @@ vc_rpfheap(VRelStats *vacrelstats, Relation onerel,
isempty = PageIsEmpty(page);
dowrite = false;
- if (blkno == last_vacuum_block) /* it's reapped page */
+ if (blkno == last_vacuum_block) /* it's reapped page */
{
- if (last_vacuum_page->vpd_offsets_free > 0) /* there are dead tuples */
+ if (last_vacuum_page->vpd_offsets_free > 0) /* there are dead tuples */
{ /* on this page - clean */
Assert(!isempty);
vc_vacpage(page, last_vacuum_page);
@@ -1025,7 +1026,8 @@ vc_rpfheap(VRelStats *vacrelstats, Relation onerel,
/* get prev reapped page from vacuum_pages */
last_vacuum_page = vacuum_pages->vpl_pagedesc[vacuumed_pages - 1];
last_vacuum_block = last_vacuum_page->vpd_blkno;
- if (blkno == last_fraged_block) /* this page in fraged_pages too */
+ if (blkno == last_fraged_block) /* this page in
+ * fraged_pages too */
{
--num_fraged_pages;
Assert(num_fraged_pages > 0);
@@ -1080,7 +1082,7 @@ vc_rpfheap(VRelStats *vacrelstats, Relation onerel,
Assert(num_fraged_pages > cur_item + 1);
memmove(fraged_pages->vpl_pagedesc + cur_item,
fraged_pages->vpl_pagedesc + cur_item + 1,
- sizeof(VPageDescr *) * (num_fraged_pages - cur_item - 1));
+ sizeof(VPageDescr *) * (num_fraged_pages - cur_item - 1));
num_fraged_pages--;
Assert(last_fraged_page == fraged_pages->vpl_pagedesc[num_fraged_pages - 1]);
}
@@ -1121,7 +1123,7 @@ vc_rpfheap(VRelStats *vacrelstats, Relation onerel,
elog(ERROR, "\
failed to add item with len = %u to page %u (free space %u, nusd %u, noff %u)",
tuple_len, cur_page->vpd_blkno, cur_page->vpd_free,
- cur_page->vpd_offsets_used, cur_page->vpd_offsets_free);
+ cur_page->vpd_offsets_used, cur_page->vpd_offsets_free);
}
newitemid = PageGetItemId(ToPage, newoff);
pfree(newtup);
@@ -1145,7 +1147,7 @@ failed to add item with len = %u to page %u (free space %u, nusd %u, noff %u)",
for (i = 0, idcur = Idesc; i < nindices; i++, idcur++)
{
FormIndexDatum(idcur->natts,
- (AttrNumber *) &(idcur->tform->indkey[0]),
+ (AttrNumber *) &(idcur->tform->indkey[0]),
newtup,
tupdesc,
idatum,
@@ -1201,8 +1203,8 @@ failed to add item with len = %u to page %u (free space %u, nusd %u, noff %u)",
}
/*
- * Clean uncleaned reapped pages from vacuum_pages list and set xmin committed
- * for inserted tuples
+ * Clean uncleaned reapped pages from vacuum_pages list and set xmin
+ * committed for inserted tuples
*/
checked_moved = 0;
for (i = 0, vpp = vacuum_pages->vpl_pagedesc; i < vacuumed_pages; i++, vpp++)
@@ -1320,7 +1322,7 @@ Elapsed %u/%u sec.",
elog(FATAL, "VACUUM (vc_rpfheap): BlowawayRelationBuffers returned %d", i);
blkno = smgrtruncate(DEFAULT_SMGR, onerel, blkno);
Assert(blkno >= 0);
- vacrelstats->num_pages = blkno; /* set new number of blocks */
+ vacrelstats->num_pages = blkno; /* set new number of blocks */
}
if (Irel != (Relation *) NULL) /* pfree index' allocations */
@@ -1351,7 +1353,8 @@ vc_vacheap(VRelStats *vacrelstats, Relation onerel, VPageList vacuum_pages)
int i;
nblocks = vacuum_pages->vpl_num_pages;
- nblocks -= vacuum_pages->vpl_empty_end_pages;/* nothing to do with them */
+ nblocks -= vacuum_pages->vpl_empty_end_pages; /* nothing to do with
+ * them */
for (i = 0, vpp = vacuum_pages->vpl_pagedesc; i < nblocks; i++, vpp++)
{
@@ -1385,7 +1388,8 @@ vc_vacheap(VRelStats *vacrelstats, Relation onerel, VPageList vacuum_pages)
nblocks = smgrtruncate(DEFAULT_SMGR, onerel, nblocks);
Assert(nblocks >= 0);
- vacrelstats->num_pages = nblocks; /* set new number of blocks */
+ vacrelstats->num_pages = nblocks; /* set new number of
+ * blocks */
}
} /* vc_vacheap */
@@ -1555,7 +1559,7 @@ vc_tidreapped(ItemPointer itemptr, VPageList vpl)
vp = &vpd;
vpp = (VPageDescr *) vc_find_eq((char *) (vpl->vpl_pagedesc),
- vpl->vpl_num_pages, sizeof(VPageDescr), (char *) &vp,
+ vpl->vpl_num_pages, sizeof(VPageDescr), (char *) &vp,
vc_cmp_blk);
if (vpp == (VPageDescr *) NULL)
@@ -1570,7 +1574,7 @@ vc_tidreapped(ItemPointer itemptr, VPageList vpl)
}
voff = (OffsetNumber *) vc_find_eq((char *) (vp->vpd_offsets),
- vp->vpd_offsets_free, sizeof(OffsetNumber), (char *) &ioffno,
+ vp->vpd_offsets_free, sizeof(OffsetNumber), (char *) &ioffno,
vc_cmp_offno);
if (voff == (OffsetNumber *) NULL)
@@ -1746,16 +1750,16 @@ vc_updstats(Oid relid, int num_pages, int num_tuples, bool hasindex, VRelStats *
ScanKeyData askey;
Form_pg_attribute attp;
Buffer buffer;
-
+
/*
* update number of tuples and number of pages in pg_class
*/
rtup = SearchSysCacheTuple(RELOID,
- ObjectIdGetDatum(relid),
- 0, 0, 0);
+ ObjectIdGetDatum(relid),
+ 0, 0, 0);
if (!HeapTupleIsValid(rtup))
elog(ERROR, "pg_class entry for relid %d vanished during vacuuming",
- relid);
+ relid);
rd = heap_openr(RelationRelationName);
@@ -2207,16 +2211,20 @@ vc_mkindesc(Relation onerel, int nindices, Relation *Irel, IndDesc **Idesc)
AttrNumber *attnumP;
int natts;
int i;
-
+
*Idesc = (IndDesc *) palloc(nindices * sizeof(IndDesc));
for (i = 0, idcur = *Idesc; i < nindices; i++, idcur++)
{
cachetuple = SearchSysCacheTupleCopy(INDEXRELID,
- ObjectIdGetDatum(RelationGetRelid(Irel[i])),
- 0, 0, 0);
+ ObjectIdGetDatum(RelationGetRelid(Irel[i])),
+ 0, 0, 0);
Assert(cachetuple);
- /* we never free the copy we make, because Idesc needs it for later */
+
+ /*
+ * we never free the copy we make, because Idesc needs it for
+ * later
+ */
idcur->tform = (Form_pg_index) GETSTRUCT(cachetuple);
for (attnumP = &(idcur->tform->indkey[0]), natts = 0;
*attnumP != InvalidAttrNumber && natts != INDEX_MAX_KEYS;
@@ -2247,7 +2255,8 @@ vc_enough_space(VPageDescr vpd, Size len)
if (len > vpd->vpd_free)
return false;
- if (vpd->vpd_offsets_used < vpd->vpd_offsets_free) /* there are free itemid(s) */
+ if (vpd->vpd_offsets_used < vpd->vpd_offsets_free) /* there are free
+ * itemid(s) */
return true; /* and len <= free_space */
/* ok. noff_usd >= noff_free and so we'll have to allocate new itemid */
diff --git a/src/backend/commands/variable.c b/src/backend/commands/variable.c
index e01967f43b..2c813dcd59 100644
--- a/src/backend/commands/variable.c
+++ b/src/backend/commands/variable.c
@@ -2,7 +2,7 @@
* Routines for handling of 'SET var TO',
* 'SHOW var' and 'RESET var' statements.
*
- * $Id: variable.c,v 1.11 1998/09/01 03:22:10 momjian Exp $
+ * $Id: variable.c,v 1.12 1998/09/01 04:28:07 momjian Exp $
*
*/
@@ -554,7 +554,7 @@ struct VariableParsers
{
"client_encoding", parse_client_encoding, show_client_encoding, reset_client_encoding
},
- {
+ {
"server_encoding", parse_server_encoding, show_server_encoding, reset_server_encoding
},
#endif
diff --git a/src/backend/commands/view.c b/src/backend/commands/view.c
index 0da160d5e8..cf81e8be66 100644
--- a/src/backend/commands/view.c
+++ b/src/backend/commands/view.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/view.c,v 1.24 1998/08/06 05:12:30 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/view.c,v 1.25 1998/09/01 04:28:10 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -223,7 +223,7 @@ UpdateRangeTableOfViewParse(char *viewName, Query *viewParse)
OffsetVarNodes(viewParse->qual, 2);
OffsetVarNodes(viewParse->havingQual, 2);
-
+
/*
* find the old range table...
diff --git a/src/backend/executor/execAmi.c b/src/backend/executor/execAmi.c
index 210d2d5072..e8c9bec312 100644
--- a/src/backend/executor/execAmi.c
+++ b/src/backend/executor/execAmi.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.24 1998/07/27 19:37:54 vadim Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.25 1998/09/01 04:28:13 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -54,8 +54,7 @@
#include "access/heapam.h"
#include "catalog/heap.h"
-static Pointer
-ExecBeginScan(Relation relation, int nkeys, ScanKey skeys,
+static Pointer ExecBeginScan(Relation relation, int nkeys, ScanKey skeys,
bool isindex, ScanDirection dir, Snapshot snapshot);
static Relation ExecOpenR(Oid relationOid, bool isindex);
diff --git a/src/backend/executor/execFlatten.c b/src/backend/executor/execFlatten.c
index 24b524fbf5..729232d9d4 100644
--- a/src/backend/executor/execFlatten.c
+++ b/src/backend/executor/execFlatten.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/Attic/execFlatten.c,v 1.6 1998/09/01 03:22:11 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/Attic/execFlatten.c,v 1.7 1998/09/01 04:28:14 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -33,8 +33,7 @@
#include "executor/execFlatten.h"
#ifdef SETS_FIXED
-static bool
-FjoinBumpOuterNodes(TargetEntry *tlist, ExprContext *econtext,
+static bool FjoinBumpOuterNodes(TargetEntry *tlist, ExprContext *econtext,
DatumPtr results, char *nulls);
#endif
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c
index 3d782f34b0..f470abb6b6 100644
--- a/src/backend/executor/execMain.c
+++ b/src/backend/executor/execMain.c
@@ -26,7 +26,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.54 1998/09/01 03:22:14 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.55 1998/09/01 04:28:16 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -54,31 +54,25 @@
#include "catalog/heap.h"
#include "commands/trigger.h"
-void
-ExecCheckPerms(CmdType operation, int resultRelation, List *rangeTable,
+void ExecCheckPerms(CmdType operation, int resultRelation, List *rangeTable,
Query *parseTree);
/* decls for local routines only used within this module */
-static TupleDesc
-InitPlan(CmdType operation, Query *parseTree,
+static TupleDesc InitPlan(CmdType operation, Query *parseTree,
Plan *plan, EState *estate);
static void EndPlan(Plan *plan, EState *estate);
-static TupleTableSlot *
-ExecutePlan(EState *estate, Plan *plan,
+static TupleTableSlot *ExecutePlan(EState *estate, Plan *plan,
Query *parseTree, CmdType operation,
int numberTuples, ScanDirection direction,
void (*printfunc) ());
static void ExecRetrieve(TupleTableSlot *slot, void (*printfunc) (),
EState *estate);
-static void
-ExecAppend(TupleTableSlot *slot, ItemPointer tupleid,
+static void ExecAppend(TupleTableSlot *slot, ItemPointer tupleid,
EState *estate);
-static void
-ExecDelete(TupleTableSlot *slot, ItemPointer tupleid,
+static void ExecDelete(TupleTableSlot *slot, ItemPointer tupleid,
EState *estate);
-static void
-ExecReplace(TupleTableSlot *slot, ItemPointer tupleid,
+static void ExecReplace(TupleTableSlot *slot, ItemPointer tupleid,
EState *estate, Query *parseTree);
/* end of local decls */
@@ -124,7 +118,7 @@ ExecutorStart(QueryDesc *queryDesc, EState *estate)
palloc(queryDesc->plantree->nParamExec * sizeof(ParamExecData));
memset(estate->es_param_exec_vals, 0, queryDesc->plantree->nParamExec * sizeof(ParamExecData));
}
-
+
estate->es_snapshot = SnapshotNow;
result = InitPlan(queryDesc->operation,
@@ -315,8 +309,8 @@ ExecCheckPerms(CmdType operation,
relid = rte->relid;
htup = SearchSysCacheTuple(RELOID,
- ObjectIdGetDatum(relid),
- 0, 0, 0);
+ ObjectIdGetDatum(relid),
+ 0, 0, 0);
if (!HeapTupleIsValid(htup))
elog(ERROR, "ExecCheckPerms: bogus RT relid: %d",
relid);
@@ -521,19 +515,19 @@ InitPlan(CmdType operation, Query *parseTree, Plan *plan, EState *estate)
* NOTE: in the future we might want to initialize the junk
* filter for all queries.
* ----------------
- * SELECT added by [email protected] 5/20/98 to allow
- * ORDER/GROUP BY have an identifier missing from the target.
+ * SELECT added by [email protected] 5/20/98 to allow
+ * ORDER/GROUP BY have an identifier missing from the target.
*/
{
- bool junk_filter_needed = false;
- List *tlist;
-
+ bool junk_filter_needed = false;
+ List *tlist;
+
if (operation == CMD_SELECT)
{
foreach(tlist, targetList)
{
- TargetEntry *tle = lfirst(tlist);
-
+ TargetEntry *tle = lfirst(tlist);
+
if (tle->resdom->resjunk)
{
junk_filter_needed = true;
@@ -547,6 +541,7 @@ InitPlan(CmdType operation, Query *parseTree, Plan *plan, EState *estate)
(operation == CMD_SELECT && junk_filter_needed))
{
JunkFilter *j = (JunkFilter *) ExecInitJunkFilter(targetList);
+
estate->es_junkFilter = j;
if (operation == CMD_SELECT)
@@ -555,7 +550,7 @@ InitPlan(CmdType operation, Query *parseTree, Plan *plan, EState *estate)
else
estate->es_junkFilter = NULL;
}
-
+
/* ----------------
* initialize the "into" relation
* ----------------
@@ -588,7 +583,7 @@ InitPlan(CmdType operation, Query *parseTree, Plan *plan, EState *estate)
tupdesc = CreateTupleDescCopy(tupType);
intoRelationId = heap_create_with_catalog(intoName,
- tupdesc, RELKIND_RELATION);
+ tupdesc, RELKIND_RELATION);
FreeTupleDesc(tupdesc);
diff --git a/src/backend/executor/execQual.c b/src/backend/executor/execQual.c
index 72de0b8faf..f3d12b1319 100644
--- a/src/backend/executor/execQual.c
+++ b/src/backend/executor/execQual.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.35 1998/09/01 03:22:18 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.36 1998/09/01 04:28:18 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -68,24 +68,19 @@ int execConstLen;
/* static functions decls */
static Datum ExecEvalAggreg(Aggreg *agg, ExprContext *econtext, bool *isNull);
-static Datum
-ExecEvalArrayRef(ArrayRef *arrayRef, ExprContext *econtext,
+static Datum ExecEvalArrayRef(ArrayRef *arrayRef, ExprContext *econtext,
bool *isNull, bool *isDone);
static Datum ExecEvalAnd(Expr *andExpr, ExprContext *econtext, bool *isNull);
-static Datum
-ExecEvalFunc(Expr *funcClause, ExprContext *econtext,
+static Datum ExecEvalFunc(Expr *funcClause, ExprContext *econtext,
bool *isNull, bool *isDone);
-static void
-ExecEvalFuncArgs(FunctionCachePtr fcache, ExprContext *econtext,
+static void ExecEvalFuncArgs(FunctionCachePtr fcache, ExprContext *econtext,
List *argList, Datum argV[], bool *argIsDone);
static Datum ExecEvalNot(Expr *notclause, ExprContext *econtext, bool *isNull);
-static Datum
-ExecEvalOper(Expr *opClause, ExprContext *econtext,
+static Datum ExecEvalOper(Expr *opClause, ExprContext *econtext,
bool *isNull);
static Datum ExecEvalOr(Expr *orExpr, ExprContext *econtext, bool *isNull);
static Datum ExecEvalVar(Var *variable, ExprContext *econtext, bool *isNull);
-static Datum
-ExecMakeFunctionResult(Node *node, List *arguments,
+static Datum ExecMakeFunctionResult(Node *node, List *arguments,
ExprContext *econtext, bool *isNull, bool *isDone);
static bool ExecQualClause(Node *clause, ExprContext *econtext);
@@ -200,7 +195,7 @@ ExecEvalArrayRef(ArrayRef *arrayRef,
static Datum
ExecEvalAggreg(Aggreg *agg, ExprContext *econtext, bool *isNull)
{
- *isNull = econtext->ecxt_nulls[agg->aggno];
+ *isNull = econtext->ecxt_nulls[agg->aggno];
return econtext->ecxt_values[agg->aggno];
}
diff --git a/src/backend/executor/execScan.c b/src/backend/executor/execScan.c
index e04876c331..30b1166e80 100644
--- a/src/backend/executor/execScan.c
+++ b/src/backend/executor/execScan.c
@@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/execScan.c,v 1.7 1998/02/26 12:13:09 vadim Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/execScan.c,v 1.8 1998/09/01 04:28:20 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -106,9 +106,9 @@ ExecScan(Scan *node,
* NULL, then it means there is nothing more to scan
* so we just return the empty slot...
*
- * ... with invalid TupleDesc (not the same as in
- * projInfo->pi_slot) and break upper MergeJoin node.
- * New code below do what ExecProject() does. - vadim 02/26/98
+ * ... with invalid TupleDesc (not the same as in
+ * projInfo->pi_slot) and break upper MergeJoin node.
+ * New code below do what ExecProject() does. - vadim 02/26/98
* ----------------
*/
if (TupIsNull(slot))
@@ -116,10 +116,10 @@ ExecScan(Scan *node,
scanstate->cstate.cs_TupFromTlist = false;
resultSlot = scanstate->cstate.cs_ProjInfo->pi_slot;
return (TupleTableSlot *)
- ExecStoreTuple (NULL,
- resultSlot,
- InvalidBuffer,
- true);
+ ExecStoreTuple(NULL,
+ resultSlot,
+ InvalidBuffer,
+ true);
}
/* ----------------
diff --git a/src/backend/executor/execUtils.c b/src/backend/executor/execUtils.c
index 7cc53dce48..fb83fd6e55 100644
--- a/src/backend/executor/execUtils.c
+++ b/src/backend/executor/execUtils.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/execUtils.c,v 1.37 1998/09/01 03:22:21 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/execUtils.c,v 1.38 1998/09/01 04:28:22 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -57,8 +57,7 @@
#include "utils/lsyscache.h"
#include "utils/mcxt.h"
-static void
-ExecGetIndexKeyInfo(Form_pg_index indexTuple, int *numAttsOutP,
+static void ExecGetIndexKeyInfo(Form_pg_index indexTuple, int *numAttsOutP,
AttrNumber **attsOutP, FuncIndexInfoPtr fInfoP);
/* ----------------------------------------------------------------
@@ -750,7 +749,7 @@ ExecOpenIndices(Oid resultRelationOid,
*/
indexSd = heap_beginscan(indexRd, /* scan desc */
false, /* scan backward flag */
- SnapshotNow, /* NOW snapshot */
+ SnapshotNow, /* NOW snapshot */
1, /* number scan keys */
&key); /* scan keys */
diff --git a/src/backend/executor/functions.c b/src/backend/executor/functions.c
index 4d23d27178..fd095e7864 100644
--- a/src/backend/executor/functions.c
+++ b/src/backend/executor/functions.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/functions.c,v 1.19 1998/09/01 03:22:22 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/functions.c,v 1.20 1998/09/01 04:28:23 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -57,16 +57,13 @@ typedef struct local_es
/* non-export function prototypes */
static TupleDesc postquel_start(execution_state *es);
-static execution_state *
-init_execution_state(FunctionCachePtr fcache,
+static execution_state *init_execution_state(FunctionCachePtr fcache,
char *args[]);
static TupleTableSlot *postquel_getnext(execution_state *es);
static void postquel_end(execution_state *es);
-static void
-postquel_sub_params(execution_state *es, int nargs,
+static void postquel_sub_params(execution_state *es, int nargs,
char *args[], bool *nullV);
-static Datum
-postquel_execute(execution_state *es, FunctionCachePtr fcache,
+static Datum postquel_execute(execution_state *es, FunctionCachePtr fcache,
List *fTlist, char **args, bool *isNull);
diff --git a/src/backend/executor/nodeAgg.c b/src/backend/executor/nodeAgg.c
index 28f50bdd4f..c7e69d1a72 100644
--- a/src/backend/executor/nodeAgg.c
+++ b/src/backend/executor/nodeAgg.c
@@ -109,388 +109,397 @@ ExecAgg(Agg *node)
bool isNull = FALSE,
isNull1 = FALSE,
isNull2 = FALSE;
- bool qual_result;
-
+ bool qual_result;
+
/* ---------------------
* get state info from node
* ---------------------
*/
- /* We loop retrieving groups until we find one matching node->plan.qual */
- do {
+ /*
+ * We loop retrieving groups until we find one matching
+ * node->plan.qual
+ */
+ do
+ {
- aggstate = node->aggstate;
- if (aggstate->agg_done)
- return NULL;
+ aggstate = node->aggstate;
+ if (aggstate->agg_done)
+ return NULL;
- estate = node->plan.state;
- econtext = aggstate->csstate.cstate.cs_ExprContext;
+ estate = node->plan.state;
+ econtext = aggstate->csstate.cstate.cs_ExprContext;
- nagg = length(node->aggs);
+ nagg = length(node->aggs);
- aggregates = (Aggreg **) palloc(sizeof(Aggreg *) * nagg);
+ aggregates = (Aggreg **) palloc(sizeof(Aggreg *) * nagg);
- /* take List* and make it an array that can be quickly indexed */
- alist = node->aggs;
- for (i = 0; i < nagg; i++)
- {
- aggregates[i] = lfirst(alist);
- aggregates[i]->aggno = i;
- alist = lnext(alist);
- }
-
- value1 = node->aggstate->csstate.cstate.cs_ExprContext->ecxt_values;
- nulls = node->aggstate->csstate.cstate.cs_ExprContext->ecxt_nulls;
+ /* take List* and make it an array that can be quickly indexed */
+ alist = node->aggs;
+ for (i = 0; i < nagg; i++)
+ {
+ aggregates[i] = lfirst(alist);
+ aggregates[i]->aggno = i;
+ alist = lnext(alist);
+ }
- value2 = (Datum *) palloc(sizeof(Datum) * nagg);
- MemSet(value2, 0, sizeof(Datum) * nagg);
+ value1 = node->aggstate->csstate.cstate.cs_ExprContext->ecxt_values;
+ nulls = node->aggstate->csstate.cstate.cs_ExprContext->ecxt_nulls;
- aggFuncInfo = (AggFuncInfo *) palloc(sizeof(AggFuncInfo) * nagg);
- MemSet(aggFuncInfo, 0, sizeof(AggFuncInfo) * nagg);
+ value2 = (Datum *) palloc(sizeof(Datum) * nagg);
+ MemSet(value2, 0, sizeof(Datum) * nagg);
- noInitValue = (int *) palloc(sizeof(int) * nagg);
- MemSet(noInitValue, 0, sizeof(noInitValue) * nagg);
+ aggFuncInfo = (AggFuncInfo *) palloc(sizeof(AggFuncInfo) * nagg);
+ MemSet(aggFuncInfo, 0, sizeof(AggFuncInfo) * nagg);
- outerPlan = outerPlan(node);
- oneTuple = NULL;
+ noInitValue = (int *) palloc(sizeof(int) * nagg);
+ MemSet(noInitValue, 0, sizeof(noInitValue) * nagg);
- projInfo = aggstate->csstate.cstate.cs_ProjInfo;
+ outerPlan = outerPlan(node);
+ oneTuple = NULL;
- for (i = 0; i < nagg; i++)
- {
- Aggreg *agg;
- char *aggname;
- HeapTuple aggTuple;
- Form_pg_aggregate aggp;
- Oid xfn1_oid,
- xfn2_oid,
- finalfn_oid;
-
- agg = aggregates[i];
-
- /* ---------------------
- * find transfer functions of all the aggregates and initialize
- * their initial values
- * ---------------------
- */
- aggname = agg->aggname;
- aggTuple = SearchSysCacheTuple(AGGNAME,
- PointerGetDatum(aggname),
- ObjectIdGetDatum(agg->basetype),
- 0, 0);
- if (!HeapTupleIsValid(aggTuple))
- elog(ERROR, "ExecAgg: cache lookup failed for aggregate \"%s\"(%s)",
- aggname,
- typeidTypeName(agg->basetype));
- aggp = (Form_pg_aggregate) GETSTRUCT(aggTuple);
-
- xfn1_oid = aggp->aggtransfn1;
- xfn2_oid = aggp->aggtransfn2;
- finalfn_oid = aggp->aggfinalfn;
-
- if (OidIsValid(finalfn_oid))
- {
- fmgr_info(finalfn_oid, &aggFuncInfo[i].finalfn);
- aggFuncInfo[i].finalfn_oid = finalfn_oid;
- }
+ projInfo = aggstate->csstate.cstate.cs_ProjInfo;
- if (OidIsValid(xfn2_oid))
+ for (i = 0; i < nagg; i++)
{
- fmgr_info(xfn2_oid, &aggFuncInfo[i].xfn2);
- aggFuncInfo[i].xfn2_oid = xfn2_oid;
- value2[i] = (Datum) AggNameGetInitVal((char *) aggname,
- aggp->aggbasetype,
- 2,
- &isNull2);
- /* ------------------------------------------
- * If there is a second transition function, its initial
- * value must exist -- as it does not depend on data values,
- * we have no other way of determining an initial value.
- * ------------------------------------------
+ Aggreg *agg;
+ char *aggname;
+ HeapTuple aggTuple;
+ Form_pg_aggregate aggp;
+ Oid xfn1_oid,
+ xfn2_oid,
+ finalfn_oid;
+
+ agg = aggregates[i];
+
+ /* ---------------------
+ * find transfer functions of all the aggregates and initialize
+ * their initial values
+ * ---------------------
*/
- if (isNull2)
- elog(ERROR, "ExecAgg: agginitval2 is null");
- }
+ aggname = agg->aggname;
+ aggTuple = SearchSysCacheTuple(AGGNAME,
+ PointerGetDatum(aggname),
+ ObjectIdGetDatum(agg->basetype),
+ 0, 0);
+ if (!HeapTupleIsValid(aggTuple))
+ elog(ERROR, "ExecAgg: cache lookup failed for aggregate \"%s\"(%s)",
+ aggname,
+ typeidTypeName(agg->basetype));
+ aggp = (Form_pg_aggregate) GETSTRUCT(aggTuple);
+
+ xfn1_oid = aggp->aggtransfn1;
+ xfn2_oid = aggp->aggtransfn2;
+ finalfn_oid = aggp->aggfinalfn;
+
+ if (OidIsValid(finalfn_oid))
+ {
+ fmgr_info(finalfn_oid, &aggFuncInfo[i].finalfn);
+ aggFuncInfo[i].finalfn_oid = finalfn_oid;
+ }
- if (OidIsValid(xfn1_oid))
- {
- fmgr_info(xfn1_oid, &aggFuncInfo[i].xfn1);
- aggFuncInfo[i].xfn1_oid = xfn1_oid;
- value1[i] = (Datum) AggNameGetInitVal((char *) aggname,
- aggp->aggbasetype,
- 1,
- &isNull1);
-
- /* ------------------------------------------
- * If the initial value for the first transition function
- * doesn't exist in the pg_aggregate table then we let
- * the first value returned from the outer procNode become
- * the initial value. (This is useful for aggregates like
- * max{} and min{}.)
- * ------------------------------------------
- */
- if (isNull1)
+ if (OidIsValid(xfn2_oid))
{
- noInitValue[i] = 1;
- nulls[i] = 1;
+ fmgr_info(xfn2_oid, &aggFuncInfo[i].xfn2);
+ aggFuncInfo[i].xfn2_oid = xfn2_oid;
+ value2[i] = (Datum) AggNameGetInitVal((char *) aggname,
+ aggp->aggbasetype,
+ 2,
+ &isNull2);
+ /* ------------------------------------------
+ * If there is a second transition function, its initial
+ * value must exist -- as it does not depend on data values,
+ * we have no other way of determining an initial value.
+ * ------------------------------------------
+ */
+ if (isNull2)
+ elog(ERROR, "ExecAgg: agginitval2 is null");
}
- }
- }
-
- /* ----------------
- * for each tuple from the the outer plan, apply all the aggregates
- * ----------------
- */
- for (;;)
- {
- HeapTuple outerTuple = NULL;
- TupleTableSlot *outerslot;
-
- isNull = isNull1 = isNull2 = 0;
- outerslot = ExecProcNode(outerPlan, (Plan *) node);
- if (outerslot)
- outerTuple = outerslot->val;
- if (!HeapTupleIsValid(outerTuple))
- {
- /*
- * when the outerplan doesn't return a single tuple, create a
- * dummy heaptuple anyway because we still need to return a
- * valid aggregate value. The value returned will be the
- * initial values of the transition functions
- */
- if (nTuplesAgged == 0)
+ if (OidIsValid(xfn1_oid))
{
- TupleDesc tupType;
- Datum *tupValue;
- char *null_array;
-
- tupType = aggstate->csstate.css_ScanTupleSlot->ttc_tupleDescriptor;
- tupValue = projInfo->pi_tupValue;
-
- /* initially, set all the values to NULL */
- null_array = palloc(tupType->natts);
- for (i = 0; i < tupType->natts; i++)
- null_array[i] = 'n';
- oneTuple = heap_formtuple(tupType, tupValue, null_array);
- pfree(null_array);
+ fmgr_info(xfn1_oid, &aggFuncInfo[i].xfn1);
+ aggFuncInfo[i].xfn1_oid = xfn1_oid;
+ value1[i] = (Datum) AggNameGetInitVal((char *) aggname,
+ aggp->aggbasetype,
+ 1,
+ &isNull1);
+
+ /* ------------------------------------------
+ * If the initial value for the first transition function
+ * doesn't exist in the pg_aggregate table then we let
+ * the first value returned from the outer procNode become
+ * the initial value. (This is useful for aggregates like
+ * max{} and min{}.)
+ * ------------------------------------------
+ */
+ if (isNull1)
+ {
+ noInitValue[i] = 1;
+ nulls[i] = 1;
+ }
}
- break;
}
- for (i = 0; i < nagg; i++)
+ /* ----------------
+ * for each tuple from the the outer plan, apply all the aggregates
+ * ----------------
+ */
+ for (;;)
{
- AttrNumber attnum;
- int2 attlen = 0;
- Datum newVal = (Datum) NULL;
- AggFuncInfo *aggfns = &aggFuncInfo[i];
- Datum args[2];
- Node *tagnode = NULL;
-
- switch (nodeTag(aggregates[i]->target))
+ HeapTuple outerTuple = NULL;
+ TupleTableSlot *outerslot;
+
+ isNull = isNull1 = isNull2 = 0;
+ outerslot = ExecProcNode(outerPlan, (Plan *) node);
+ if (outerslot)
+ outerTuple = outerslot->val;
+ if (!HeapTupleIsValid(outerTuple))
{
- case T_Var:
- tagnode = NULL;
- newVal = aggGetAttr(outerslot,
- aggregates[i],
- &isNull);
- break;
- case T_Expr:
- tagnode = ((Expr *) aggregates[i]->target)->oper;
- econtext->ecxt_scantuple = outerslot;
- newVal = ExecEvalExpr(aggregates[i]->target, econtext,
- &isNull, &isDone);
- break;
- case T_Const:
- tagnode = NULL;
- econtext->ecxt_scantuple = outerslot;
- newVal = ExecEvalExpr(aggregates[i]->target, econtext,
- &isNull, &isDone);
- break;
- default:
- elog(ERROR, "ExecAgg: Bad Agg->Target for Agg %d", i);
- }
- if (isNull && !aggregates[i]->usenulls)
- continue; /* ignore this tuple for this agg */
+ /*
+ * when the outerplan doesn't return a single tuple,
+ * create a dummy heaptuple anyway because we still need
+ * to return a valid aggregate value. The value returned
+ * will be the initial values of the transition functions
+ */
+ if (nTuplesAgged == 0)
+ {
+ TupleDesc tupType;
+ Datum *tupValue;
+ char *null_array;
+
+ tupType = aggstate->csstate.css_ScanTupleSlot->ttc_tupleDescriptor;
+ tupValue = projInfo->pi_tupValue;
+
+ /* initially, set all the values to NULL */
+ null_array = palloc(tupType->natts);
+ for (i = 0; i < tupType->natts; i++)
+ null_array[i] = 'n';
+ oneTuple = heap_formtuple(tupType, tupValue, null_array);
+ pfree(null_array);
+ }
+ break;
+ }
- if (aggfns->xfn1.fn_addr != NULL)
+ for (i = 0; i < nagg; i++)
{
- if (noInitValue[i])
+ AttrNumber attnum;
+ int2 attlen = 0;
+ Datum newVal = (Datum) NULL;
+ AggFuncInfo *aggfns = &aggFuncInfo[i];
+ Datum args[2];
+ Node *tagnode = NULL;
+
+ switch (nodeTag(aggregates[i]->target))
+ {
+ case T_Var:
+ tagnode = NULL;
+ newVal = aggGetAttr(outerslot,
+ aggregates[i],
+ &isNull);
+ break;
+ case T_Expr:
+ tagnode = ((Expr *) aggregates[i]->target)->oper;
+ econtext->ecxt_scantuple = outerslot;
+ newVal = ExecEvalExpr(aggregates[i]->target, econtext,
+ &isNull, &isDone);
+ break;
+ case T_Const:
+ tagnode = NULL;
+ econtext->ecxt_scantuple = outerslot;
+ newVal = ExecEvalExpr(aggregates[i]->target, econtext,
+ &isNull, &isDone);
+ break;
+ default:
+ elog(ERROR, "ExecAgg: Bad Agg->Target for Agg %d", i);
+ }
+
+ if (isNull && !aggregates[i]->usenulls)
+ continue; /* ignore this tuple for this agg */
+
+ if (aggfns->xfn1.fn_addr != NULL)
{
- int byVal = 0;
-
- /*
- * value1 and value2 has not been initialized. This is
- * the first non-NULL value. We use it as the initial
- * value.
- */
-
- /*
- * but we can't just use it straight, we have to make
- * a copy of it since the tuple from which it came
- * will be freed on the next iteration of the scan
- */
- switch (nodeTag(aggregates[i]->target))
+ if (noInitValue[i])
{
- case T_Var:
- attnum = ((Var *) aggregates[i]->target)->varattno;
- attlen = outerslot->ttc_tupleDescriptor->attrs[attnum - 1]->attlen;
- byVal = outerslot->ttc_tupleDescriptor->attrs[attnum - 1]->attbyval;
-
- break;
- case T_Expr:
- {
- FunctionCachePtr fcache_ptr;
-
- if (nodeTag(tagnode) == T_Func)
- fcache_ptr = ((Func *) tagnode)->func_fcache;
- else
- fcache_ptr = ((Oper *) tagnode)->op_fcache;
- attlen = fcache_ptr->typlen;
- byVal = fcache_ptr->typbyval;
+ int byVal = 0;
+
+ /*
+ * value1 and value2 has not been initialized.
+ * This is the first non-NULL value. We use it as
+ * the initial value.
+ */
+
+ /*
+ * but we can't just use it straight, we have to
+ * make a copy of it since the tuple from which it
+ * came will be freed on the next iteration of the
+ * scan
+ */
+ switch (nodeTag(aggregates[i]->target))
+ {
+ case T_Var:
+ attnum = ((Var *) aggregates[i]->target)->varattno;
+ attlen = outerslot->ttc_tupleDescriptor->attrs[attnum - 1]->attlen;
+ byVal = outerslot->ttc_tupleDescriptor->attrs[attnum - 1]->attbyval;
+
+ break;
+ case T_Expr:
+ {
+ FunctionCachePtr fcache_ptr;
+
+ if (nodeTag(tagnode) == T_Func)
+ fcache_ptr = ((Func *) tagnode)->func_fcache;
+ else
+ fcache_ptr = ((Oper *) tagnode)->op_fcache;
+ attlen = fcache_ptr->typlen;
+ byVal = fcache_ptr->typbyval;
+
+ break;
+ }
+ case T_Const:
+ attlen = ((Const *) aggregates[i]->target)->constlen;
+ byVal = ((Const *) aggregates[i]->target)->constbyval;
break;
- }
- case T_Const:
- attlen = ((Const *) aggregates[i]->target)->constlen;
- byVal = ((Const *) aggregates[i]->target)->constbyval;
-
- break;
- default:
- elog(ERROR, "ExecAgg: Bad Agg->Target for Agg %d", i);
+ default:
+ elog(ERROR, "ExecAgg: Bad Agg->Target for Agg %d", i);
+ }
+ if (attlen == -1)
+ {
+ /* variable length */
+ attlen = VARSIZE((struct varlena *) newVal);
+ }
+ value1[i] = (Datum) palloc(attlen);
+ if (byVal)
+ value1[i] = newVal;
+ else
+ memmove((char *) (value1[i]), (char *) newVal, attlen);
+ noInitValue[i] = 0;
+ nulls[i] = 0;
}
- if (attlen == -1)
+ else
{
- /* variable length */
- attlen = VARSIZE((struct varlena *) newVal);
+
+ /*
+ * apply the transition functions.
+ */
+ args[0] = value1[i];
+ args[1] = newVal;
+ value1[i] =
+ (Datum) fmgr_c(&aggfns->xfn1,
+ (FmgrValues *) args,
+ &isNull1);
+ Assert(!isNull1);
}
- value1[i] = (Datum) palloc(attlen);
- if (byVal)
- value1[i] = newVal;
- else
- memmove((char *) (value1[i]), (char *) newVal, attlen);
- noInitValue[i] = 0;
- nulls[i] = 0;
}
- else
+
+ if (aggfns->xfn2.fn_addr != NULL)
{
+ Datum xfn2_val = value2[i];
- /*
- * apply the transition functions.
- */
- args[0] = value1[i];
- args[1] = newVal;
- value1[i] =
- (Datum) fmgr_c(&aggfns->xfn1,
- (FmgrValues *) args,
- &isNull1);
- Assert(!isNull1);
+ value2[i] =
+ (Datum) fmgr_c(&aggfns->xfn2,
+ (FmgrValues *) &xfn2_val, &isNull2);
+ Assert(!isNull2);
}
}
- if (aggfns->xfn2.fn_addr != NULL)
- {
- Datum xfn2_val = value2[i];
+ /*
+ * keep this for the projection (we only need one of these -
+ * all the tuples we aggregate over share the same group
+ * column)
+ */
+ if (!oneTuple)
+ oneTuple = heap_copytuple(outerslot->val);
- value2[i] =
- (Datum) fmgr_c(&aggfns->xfn2,
- (FmgrValues *) &xfn2_val, &isNull2);
- Assert(!isNull2);
- }
+ nTuplesAgged++;
}
- /*
- * keep this for the projection (we only need one of these - all
- * the tuples we aggregate over share the same group column)
+ /* --------------
+ * finalize the aggregate (if necessary), and get the resultant value
+ * --------------
*/
- if (!oneTuple)
- oneTuple = heap_copytuple(outerslot->val);
-
- nTuplesAgged++;
- }
-
- /* --------------
- * finalize the aggregate (if necessary), and get the resultant value
- * --------------
- */
- for (i = 0; i < nagg; i++)
- {
- char *args[2];
- AggFuncInfo *aggfns = &aggFuncInfo[i];
-
- if (noInitValue[i])
+ for (i = 0; i < nagg; i++)
{
+ char *args[2];
+ AggFuncInfo *aggfns = &aggFuncInfo[i];
- /*
- * No values found for this agg; return current state. This
- * seems to fix behavior for avg() aggregate. -tgl 12/96
- */
- }
- else if (aggfns->finalfn.fn_addr != NULL && nTuplesAgged > 0)
- {
- if (aggfns->finalfn.fn_nargs > 1)
+ if (noInitValue[i])
{
- args[0] = (char *) value1[i];
- args[1] = (char *) value2[i];
+
+ /*
+ * No values found for this agg; return current state.
+ * This seems to fix behavior for avg() aggregate. -tgl
+ * 12/96
+ */
+ }
+ else if (aggfns->finalfn.fn_addr != NULL && nTuplesAgged > 0)
+ {
+ if (aggfns->finalfn.fn_nargs > 1)
+ {
+ args[0] = (char *) value1[i];
+ args[1] = (char *) value2[i];
+ }
+ else if (aggfns->xfn1.fn_addr != NULL)
+ args[0] = (char *) value1[i];
+ else if (aggfns->xfn2.fn_addr != NULL)
+ args[0] = (char *) value2[i];
+ else
+ elog(NOTICE, "ExecAgg: no valid transition functions??");
+ value1[i] = (Datum) fmgr_c(&aggfns->finalfn,
+ (FmgrValues *) args, &(nulls[i]));
}
else if (aggfns->xfn1.fn_addr != NULL)
- args[0] = (char *) value1[i];
+ {
+
+ /*
+ * value in the right place, ignore. (If you remove this
+ * case, fix the else part. -ay 2/95)
+ */
+ }
else if (aggfns->xfn2.fn_addr != NULL)
- args[0] = (char *) value2[i];
+ value1[i] = value2[i];
else
- elog(NOTICE, "ExecAgg: no valid transition functions??");
- value1[i] = (Datum) fmgr_c(&aggfns->finalfn,
- (FmgrValues *) args, &(nulls[i]));
+ elog(ERROR, "ExecAgg: no valid transition functions??");
}
- else if (aggfns->xfn1.fn_addr != NULL)
- {
- /*
- * value in the right place, ignore. (If you remove this case,
- * fix the else part. -ay 2/95)
- */
+ /*
+ * whether the aggregation is done depends on whether we are doing
+ * aggregation over groups or the entire table
+ */
+ if (nodeTag(outerPlan) == T_Group)
+ {
+ /* aggregation over groups */
+ aggstate->agg_done = ((Group *) outerPlan)->grpstate->grp_done;
}
- else if (aggfns->xfn2.fn_addr != NULL)
- value1[i] = value2[i];
else
- elog(ERROR, "ExecAgg: no valid transition functions??");
- }
+ aggstate->agg_done = TRUE;
- /*
- * whether the aggregation is done depends on whether we are doing
- * aggregation over groups or the entire table
- */
- if (nodeTag(outerPlan) == T_Group)
- {
- /* aggregation over groups */
- aggstate->agg_done = ((Group *) outerPlan)->grpstate->grp_done;
- }
- else
- aggstate->agg_done = TRUE;
+ /* ----------------
+ * form a projection tuple, store it in the result tuple
+ * slot and return it.
+ * ----------------
+ */
- /* ----------------
- * form a projection tuple, store it in the result tuple
- * slot and return it.
- * ----------------
- */
-
- ExecStoreTuple(oneTuple,
- aggstate->csstate.css_ScanTupleSlot,
- InvalidBuffer,
- false);
- econtext->ecxt_scantuple = aggstate->csstate.css_ScanTupleSlot;
-
- resultSlot = ExecProject(projInfo, &isDone);
-
- /* As long as the retrieved group does not match the qualifications it is ignored and
- * the next group is fetched */
- qual_result=ExecQual(fix_opids(node->plan.qual),econtext);
- if (oneTuple)
- pfree(oneTuple);
- }
- while((node->plan.qual!=NULL) && (qual_result!=true));
+ ExecStoreTuple(oneTuple,
+ aggstate->csstate.css_ScanTupleSlot,
+ InvalidBuffer,
+ false);
+ econtext->ecxt_scantuple = aggstate->csstate.css_ScanTupleSlot;
+
+ resultSlot = ExecProject(projInfo, &isDone);
+
+ /*
+ * As long as the retrieved group does not match the
+ * qualifications it is ignored and the next group is fetched
+ */
+ qual_result = ExecQual(fix_opids(node->plan.qual), econtext);
+ if (oneTuple)
+ pfree(oneTuple);
+ }
+ while ((node->plan.qual != NULL) && (qual_result != true));
return resultSlot;
}
diff --git a/src/backend/executor/nodeAppend.c b/src/backend/executor/nodeAppend.c
index aea1873934..1c2217cdc4 100644
--- a/src/backend/executor/nodeAppend.c
+++ b/src/backend/executor/nodeAppend.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/nodeAppend.c,v 1.14 1998/07/15 22:16:18 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/nodeAppend.c,v 1.15 1998/09/01 04:28:26 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -158,7 +158,7 @@ exec_append_initialize_next(Append *node)
{
estate->es_result_relation_info =
(RelationInfo *) nth(whichplan,
- appendstate->as_result_relation_info_list);
+ appendstate->as_result_relation_info_list);
}
result_slot->ttc_whichplan = whichplan;
@@ -505,8 +505,8 @@ void
ExecReScanAppend(Append *node, ExprContext *exprCtxt, Plan *parent)
{
AppendState *appendstate = node->appendstate;
- int nplans = length(node->appendplans);
- int i;
+ int nplans = length(node->appendplans);
+ int i;
for (i = 0; i < nplans; i++)
{
@@ -517,7 +517,7 @@ ExecReScanAppend(Append *node, ExprContext *exprCtxt, Plan *parent)
if (rescanNode->chgParam == NULL)
{
exec_append_initialize_next(node);
- ExecReScan((Plan *)rescanNode, exprCtxt, (Plan *) node);
+ ExecReScan((Plan *) rescanNode, exprCtxt, (Plan *) node);
}
}
appendstate->as_whichplan = 0;
diff --git a/src/backend/executor/nodeGroup.c b/src/backend/executor/nodeGroup.c
index cecae67b78..1fdf6bedc3 100644
--- a/src/backend/executor/nodeGroup.c
+++ b/src/backend/executor/nodeGroup.c
@@ -13,7 +13,7 @@
* columns. (ie. tuples from the same group are consecutive)
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/nodeGroup.c,v 1.21 1998/07/16 02:58:09 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/nodeGroup.c,v 1.22 1998/09/01 04:28:28 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -30,8 +30,7 @@
static TupleTableSlot *ExecGroupEveryTuple(Group *node);
static TupleTableSlot *ExecGroupOneTuple(Group *node);
-static bool
-sameGroup(HeapTuple oldslot, HeapTuple newslot,
+static bool sameGroup(HeapTuple oldslot, HeapTuple newslot,
int numCols, AttrNumber *grpColIdx, TupleDesc tupdesc);
/* ---------------------------------------
diff --git a/src/backend/executor/nodeHash.c b/src/backend/executor/nodeHash.c
index 9fa3f01190..634411a7c6 100644
--- a/src/backend/executor/nodeHash.c
+++ b/src/backend/executor/nodeHash.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/nodeHash.c,v 1.22 1998/09/01 03:22:23 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/nodeHash.c,v 1.23 1998/09/01 04:28:29 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -45,8 +45,7 @@ static void mk_hj_temp(char *tempname);
static int hashFunc(char *key, int len);
static int ExecHashPartition(Hash *node);
static RelativeAddr hashTableAlloc(int size, HashJoinTable hashtable);
-static void
-ExecHashOverflowInsert(HashJoinTable hashtable,
+static void ExecHashOverflowInsert(HashJoinTable hashtable,
HashBucket bucket,
HeapTuple heapTuple);
diff --git a/src/backend/executor/nodeHashjoin.c b/src/backend/executor/nodeHashjoin.c
index c4a52fe910..deef889522 100644
--- a/src/backend/executor/nodeHashjoin.c
+++ b/src/backend/executor/nodeHashjoin.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/nodeHashjoin.c,v 1.12 1998/09/01 03:22:25 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/nodeHashjoin.c,v 1.13 1998/09/01 04:28:31 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -28,12 +28,10 @@
static TupleTableSlot *
ExecHashJoinOuterGetTuple(Plan *node, Plan *parent, HashJoinState *hjstate);
-static TupleTableSlot *
-ExecHashJoinGetSavedTuple(HashJoinState *hjstate, char *buffer,
+static TupleTableSlot *ExecHashJoinGetSavedTuple(HashJoinState *hjstate, char *buffer,
File file, TupleTableSlot *tupleSlot, int *block, char **position);
-static int
-ExecHashJoinGetBatch(int bucketno, HashJoinTable hashtable,
+static int ExecHashJoinGetBatch(int bucketno, HashJoinTable hashtable,
int nbatch);
static int ExecHashJoinNewBatch(HashJoinState *hjstate);
diff --git a/src/backend/executor/nodeIndexscan.c b/src/backend/executor/nodeIndexscan.c
index 03b43f09b5..2df3b98a44 100644
--- a/src/backend/executor/nodeIndexscan.c
+++ b/src/backend/executor/nodeIndexscan.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/nodeIndexscan.c,v 1.26 1998/09/01 03:22:26 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/nodeIndexscan.c,v 1.27 1998/09/01 04:28:32 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -85,8 +85,8 @@ IndexNext(IndexScan *node)
EState *estate;
CommonScanState *scanstate;
IndexScanState *indexstate;
- ScanDirection direction;
- Snapshot snapshot;
+ ScanDirection direction;
+ Snapshot snapshot;
IndexScanDescPtr scanDescs;
IndexScanDesc scandesc;
Relation heapRelation;
@@ -95,7 +95,7 @@ IndexNext(IndexScan *node)
TupleTableSlot *slot;
Buffer buffer = InvalidBuffer;
int numIndices;
-
+
/* ----------------
* extract necessary information from index scan node
* ----------------
@@ -122,39 +122,40 @@ IndexNext(IndexScan *node)
while ((result = index_getnext(scandesc, direction)) != NULL)
{
tuple = heap_fetch(heapRelation, snapshot,
- &result->heap_iptr, &buffer);
+ &result->heap_iptr, &buffer);
pfree(result);
if (tuple != NULL)
{
bool prev_matches = false;
int prev_index;
-
+
/* ----------------
- * store the scanned tuple in the scan tuple slot of
- * the scan state. Eventually we will only do this and not
- * return a tuple. Note: we pass 'false' because tuples
- * returned by amgetnext are pointers onto disk pages and
- * were not created with palloc() and so should not be pfree()'d.
- * ----------------
- */
- ExecStoreTuple(tuple, /* tuple to store */
- slot, /* slot to store in */
- buffer, /* buffer associated with tuple */
- false); /* don't pfree */
+ * store the scanned tuple in the scan tuple slot of
+ * the scan state. Eventually we will only do this and not
+ * return a tuple. Note: we pass 'false' because tuples
+ * returned by amgetnext are pointers onto disk pages and
+ * were not created with palloc() and so should not be pfree()'d.
+ * ----------------
+ */
+ ExecStoreTuple(tuple, /* tuple to store */
+ slot, /* slot to store in */
+ buffer, /* buffer associated with tuple */
+ false); /* don't pfree */
/*
- * We must check to see if the current tuple would have been
- * matched by an earlier index, so we don't double report it.
- * We do this by passing the tuple through ExecQual and look
- * for failure with all previous qualifications.
+ * We must check to see if the current tuple would have
+ * been matched by an earlier index, so we don't double
+ * report it. We do this by passing the tuple through
+ * ExecQual and look for failure with all previous
+ * qualifications.
*/
for (prev_index = 0; prev_index < indexstate->iss_IndexPtr;
- prev_index++)
+ prev_index++)
{
scanstate->cstate.cs_ExprContext->ecxt_scantuple = slot;
if (ExecQual(nth(prev_index, node->indxqual),
- scanstate->cstate.cs_ExprContext))
+ scanstate->cstate.cs_ExprContext))
{
prev_matches = true;
break;
@@ -259,17 +260,16 @@ ExecIndexReScan(IndexScan *node, ExprContext *exprCtxt, Plan *parent)
indxqual = node->indxqual;
numScanKeys = indexstate->iss_NumScanKeys;
indexstate->iss_IndexPtr = 0;
-
+
/* it's possible in subselects */
if (exprCtxt == NULL)
exprCtxt = node->scan.scanstate->cstate.cs_ExprContext;
node->scan.scanstate->cstate.cs_ExprContext->ecxt_outertuple =
exprCtxt->ecxt_outertuple;
-
+
/*
- * get the index qualifications and recalculate the appropriate
- * values
+ * get the index qualifications and recalculate the appropriate values
*/
for (i = 0; i < numIndices; i++)
{
@@ -282,17 +282,19 @@ ExecIndexReScan(IndexScan *node, ExprContext *exprCtxt, Plan *parent)
run_keys = (int *) runtimeKeyInfo[i];
for (j = 0; j < n_keys; j++)
{
+
/*
* If we have a run-time key, then extract the run-time
* expression and evaluate it with respect to the current
- * outer tuple. We then stick the result into the scan key.
+ * outer tuple. We then stick the result into the scan
+ * key.
*/
if (run_keys[j] != NO_OP)
{
clause = nth(j, qual);
scanexpr = (run_keys[j] == RIGHT_OP) ?
(Node *) get_rightop(clause) : (Node *) get_leftop(clause);
-
+
/*
* pass in isDone but ignore it. We don't iterate in
* quals
@@ -333,7 +335,7 @@ ExecEndIndexScan(IndexScan *node)
IndexScanState *indexstate;
Pointer *runtimeKeyInfo;
ScanKey *scanKeys;
- List *indxqual;
+ List *indxqual;
int *numScanKeys;
int numIndices;
int i;
@@ -342,7 +344,7 @@ ExecEndIndexScan(IndexScan *node)
indexstate = node->indxstate;
indxqual = node->indxqual;
runtimeKeyInfo = (Pointer *) indexstate->iss_RuntimeKeyInfo;
-
+
/* ----------------
* extract information from the node
* ----------------
@@ -381,7 +383,7 @@ ExecEndIndexScan(IndexScan *node)
pfree(numScanKeys);
if (runtimeKeyInfo)
- {
+ {
for (i = 0; i < numIndices; i++)
{
List *qual;
@@ -394,7 +396,7 @@ ExecEndIndexScan(IndexScan *node)
}
pfree(runtimeKeyInfo);
}
-
+
/* ----------------
* clear out tuple table slots
* ----------------
@@ -428,7 +430,7 @@ ExecIndexMarkPos(IndexScan *node)
#if 0
IndexScanMarkPosition(scanDesc);
#endif
- index_markpos (scanDesc);
+ index_markpos(scanDesc);
}
/* ----------------------------------------------------------------
@@ -457,7 +459,7 @@ ExecIndexRestrPos(IndexScan *node)
#if 0
IndexScanRestorePosition(scanDesc);
#endif
- index_restrpos (scanDesc);
+ index_restrpos(scanDesc);
}
/* ----------------------------------------------------------------
@@ -504,7 +506,7 @@ ExecInitIndexScan(IndexScan *node, EState *estate, Plan *parent)
HeapScanDesc currentScanDesc;
ScanDirection direction;
int baseid;
-
+
List *execParam = NULL;
/* ----------------
@@ -727,22 +729,22 @@ ExecInitIndexScan(IndexScan *node, EState *estate, Plan *parent)
* it identifies the value to place in our scan key.
* ----------------
*/
-
+
/* Life was so easy before ... subselects */
- if ( ((Param *) leftop)->paramkind == PARAM_EXEC )
+ if (((Param *) leftop)->paramkind == PARAM_EXEC)
{
have_runtime_keys = true;
run_keys[j] = LEFT_OP;
- execParam = lappendi (execParam, ((Param*) leftop)->paramid);
+ execParam = lappendi(execParam, ((Param *) leftop)->paramid);
}
else
{
scanvalue = ExecEvalParam((Param *) leftop,
- scanstate->cstate.cs_ExprContext,
+ scanstate->cstate.cs_ExprContext,
&isnull);
if (isnull)
flags |= SK_ISNULL;
-
+
run_keys[j] = NO_OP;
}
}
@@ -820,22 +822,22 @@ ExecInitIndexScan(IndexScan *node, EState *estate, Plan *parent)
* it identifies the value to place in our scan key.
* ----------------
*/
-
+
/* Life was so easy before ... subselects */
- if ( ((Param *) rightop)->paramkind == PARAM_EXEC )
+ if (((Param *) rightop)->paramkind == PARAM_EXEC)
{
have_runtime_keys = true;
run_keys[j] = RIGHT_OP;
- execParam = lappendi (execParam, ((Param*) rightop)->paramid);
+ execParam = lappendi(execParam, ((Param *) rightop)->paramid);
}
else
{
scanvalue = ExecEvalParam((Param *) rightop,
- scanstate->cstate.cs_ExprContext,
+ scanstate->cstate.cs_ExprContext,
&isnull);
if (isnull)
flags |= SK_ISNULL;
-
+
run_keys[j] = NO_OP;
}
}
@@ -992,13 +994,13 @@ ExecInitIndexScan(IndexScan *node, EState *estate, Plan *parent)
indexstate->iss_ScanDescs = scanDescs;
indexstate->cstate.cs_TupFromTlist = false;
-
- /*
- * if there are some PARAM_EXEC in skankeys then
- * force index rescan on first scan.
+
+ /*
+ * if there are some PARAM_EXEC in skankeys then force index rescan on
+ * first scan.
*/
- ((Plan*) node)->chgParam = execParam;
-
+ ((Plan *) node)->chgParam = execParam;
+
/* ----------------
* all done.
* ----------------
@@ -1010,5 +1012,5 @@ int
ExecCountSlotsIndexScan(IndexScan *node)
{
return ExecCountSlotsNode(outerPlan((Plan *) node)) +
- ExecCountSlotsNode(innerPlan((Plan *) node)) + INDEXSCAN_NSLOTS;
+ ExecCountSlotsNode(innerPlan((Plan *) node)) + INDEXSCAN_NSLOTS;
}
diff --git a/src/backend/executor/nodeMaterial.c b/src/backend/executor/nodeMaterial.c
index 1c957d7661..95c8a6f56f 100644
--- a/src/backend/executor/nodeMaterial.c
+++ b/src/backend/executor/nodeMaterial.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/nodeMaterial.c,v 1.16 1998/09/01 03:22:27 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/nodeMaterial.c,v 1.17 1998/09/01 04:28:34 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -173,7 +173,7 @@ ExecMaterial(Material *node)
return ExecStoreTuple(heapTuple, /* tuple to store */
slot, /* slot to store in */
- currentScanDesc->rs_cbuf, /* buffer for this tuple */
+ currentScanDesc->rs_cbuf, /* buffer for this tuple */
false); /* don't pfree this pointer */
}
diff --git a/src/backend/executor/nodeMergejoin.c b/src/backend/executor/nodeMergejoin.c
index 805b6ed334..30c11e8b2f 100644
--- a/src/backend/executor/nodeMergejoin.c
+++ b/src/backend/executor/nodeMergejoin.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/nodeMergejoin.c,v 1.18 1998/07/19 10:05:19 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/nodeMergejoin.c,v 1.19 1998/09/01 04:28:35 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -480,8 +480,8 @@ ExecMergeJoin(MergeJoin *node)
* means that this is the first time ExecMergeJoin() has
* been called and so we have to initialize the inner,
* outer and marked tuples as well as various stuff in the
- * expression context.
- * ********************************
+ * expression context. ********************************
+ *
*/
case EXEC_MJ_INITIALIZE:
MJ_printf("ExecMergeJoin: EXEC_MJ_INITIALIZE\n");
@@ -514,7 +514,7 @@ ExecMergeJoin(MergeJoin *node)
mergestate->mj_MarkedTupleSlot->ttc_tupleDescriptor =
innerTupleSlot->ttc_tupleDescriptor;
-
+
/* ----------------
* initialize merge join state to skip inner tuples.
* ----------------
@@ -526,8 +526,8 @@ ExecMergeJoin(MergeJoin *node)
* ******************************** EXEC_MJ_JOINMARK means
* we have just found a new outer tuple and a possible
* matching inner tuple. This is the case after the
- * INITIALIZE, SKIPOUTER or SKIPINNER states.
- * ********************************
+ * INITIALIZE, SKIPOUTER or SKIPINNER states. ********************************
+ *
*/
case EXEC_MJ_JOINMARK:
MJ_printf("ExecMergeJoin: EXEC_MJ_JOINMARK\n");
@@ -655,8 +655,8 @@ ExecMergeJoin(MergeJoin *node)
break;
/*
- * ******************************** EXEC_MJ_TESTOUTER
- * If the new outer tuple and the marked tuple satisify the
+ * ******************************** EXEC_MJ_TESTOUTER If
+ * the new outer tuple and the marked tuple satisify the
* merge clause then we know we have duplicates in the
* outer scan so we have to restore the inner scan to the
* marked tuple and proceed to join the new outer tuples
@@ -680,7 +680,9 @@ ExecMergeJoin(MergeJoin *node)
*
* new outer tuple > marked tuple
*
- * ****************************
+ ***************************
+ *
+ *
*/
case EXEC_MJ_TESTOUTER:
MJ_printf("ExecMergeJoin: EXEC_MJ_TESTOUTER\n");
@@ -698,13 +700,14 @@ ExecMergeJoin(MergeJoin *node)
if (qualResult)
{
- /*
- * the merge clause matched so now we juggle the slots
- * back the way they were and proceed to JOINTEST.
+
+ /*
+ * the merge clause matched so now we juggle the slots
+ * back the way they were and proceed to JOINTEST.
*
- * I can't understand why we have to go to JOINTEST
- * and compare outer tuple with the same inner one
- * again -> go to JOINTUPLES... - vadim 02/27/98
+ * I can't understand why we have to go to JOINTEST and
+ * compare outer tuple with the same inner one again
+ * -> go to JOINTUPLES... - vadim 02/27/98
*/
ExecRestrPos(innerPlan);
@@ -738,7 +741,7 @@ ExecMergeJoin(MergeJoin *node)
return NULL;
}
- /* continue on to skip outer tuples */
+ /* continue on to skip outer tuples */
mergestate->mj_JoinState = EXEC_MJ_SKIPOUTER;
}
break;
@@ -756,7 +759,9 @@ ExecMergeJoin(MergeJoin *node)
* we have to advance the outer scan until we find the outer
* 8.
*
- ****************************
+ **************************
+ *
+ *
*
*
*
@@ -856,7 +861,9 @@ ExecMergeJoin(MergeJoin *node)
* we have to advance the inner scan until we find the inner
* 12.
*
- ****************************
+ **************************
+ *
+ *
*
*
*
@@ -988,10 +995,10 @@ bool
ExecInitMergeJoin(MergeJoin *node, EState *estate, Plan *parent)
{
MergeJoinState *mergestate;
- List *joinclauses;
- RegProcedure rightsortop;
- RegProcedure leftsortop;
- RegProcedure sortop;
+ List *joinclauses;
+ RegProcedure rightsortop;
+ RegProcedure leftsortop;
+ RegProcedure sortop;
TupleTableSlot *mjSlot;
List *OSortopI;
@@ -1042,7 +1049,7 @@ ExecInitMergeJoin(MergeJoin *node, EState *estate, Plan *parent)
mjSlot->ttc_whichplan = -1;
mjSlot->ttc_descIsNew = true;
mergestate->mj_MarkedTupleSlot = mjSlot;
-
+
/* ----------------
* get merge sort operators.
*
@@ -1166,9 +1173,9 @@ ExecEndMergeJoin(MergeJoin *node)
*/
ExecClearTuple(mergestate->jstate.cs_ResultTupleSlot);
ExecClearTuple(mergestate->mj_MarkedTupleSlot);
- pfree (mergestate->mj_MarkedTupleSlot);
+ pfree(mergestate->mj_MarkedTupleSlot);
mergestate->mj_MarkedTupleSlot = NULL;
-
+
MJ1_printf("ExecEndMergeJoin: %s\n",
"node processing ended");
}
@@ -1185,12 +1192,12 @@ ExecReScanMergeJoin(MergeJoin *node, ExprContext *exprCtxt, Plan *parent)
mjSlot->ttc_tupleDescriptor = NULL;
mjSlot->ttc_whichplan = -1;
mjSlot->ttc_descIsNew = true;
-
+
mergestate->mj_JoinState = EXEC_MJ_INITIALIZE;
/*
- * if chgParam of subnodes is not null then plans will be re-scanned by
- * first ExecProcNode.
+ * if chgParam of subnodes is not null then plans will be re-scanned
+ * by first ExecProcNode.
*/
if (((Plan *) node)->lefttree->chgParam == NULL)
ExecReScan(((Plan *) node)->lefttree, exprCtxt, (Plan *) node);
diff --git a/src/backend/executor/nodeSeqscan.c b/src/backend/executor/nodeSeqscan.c
index 6b2972d410..c5bceea06b 100644
--- a/src/backend/executor/nodeSeqscan.c
+++ b/src/backend/executor/nodeSeqscan.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/nodeSeqscan.c,v 1.13 1998/09/01 03:22:28 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/nodeSeqscan.c,v 1.14 1998/09/01 04:28:37 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -30,8 +30,7 @@
#include "access/heapam.h"
#include "parser/parsetree.h"
-static Oid
-InitScanRelation(SeqScan *node, EState *estate,
+static Oid InitScanRelation(SeqScan *node, EState *estate,
CommonScanState *scanstate, Plan *outerPlan);
static TupleTableSlot *SeqNext(SeqScan *node);
@@ -83,7 +82,8 @@ SeqNext(SeqScan *node)
slot = ExecStoreTuple(tuple,/* tuple to store */
slot, /* slot to store in */
- scandesc->rs_cbuf,/* buffer associated with this tuple */
+ scandesc->rs_cbuf, /* buffer associated with
+ * this tuple */
false); /* don't pfree this pointer */
/* ----------------
diff --git a/src/backend/executor/nodeSubplan.c b/src/backend/executor/nodeSubplan.c
index 95fa2f0afe..94abb9aae6 100644
--- a/src/backend/executor/nodeSubplan.c
+++ b/src/backend/executor/nodeSubplan.c
@@ -112,8 +112,8 @@ ExecInitSubPlan(SubPlan *node, EState *estate, Plan *parent)
{
EState *sp_estate = CreateExecutorState();
- ExecCheckPerms (CMD_SELECT, 0, node->rtable, (Query*) NULL);
-
+ ExecCheckPerms(CMD_SELECT, 0, node->rtable, (Query *) NULL);
+
sp_estate->es_range_table = node->rtable;
sp_estate->es_param_list_info = estate->es_param_list_info;
sp_estate->es_param_exec_vals = estate->es_param_exec_vals;
diff --git a/src/backend/executor/nodeTee.c b/src/backend/executor/nodeTee.c
index b96cac45ad..9a39e649a9 100644
--- a/src/backend/executor/nodeTee.c
+++ b/src/backend/executor/nodeTee.c
@@ -15,7 +15,7 @@
* ExecEndTee
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/Attic/nodeTee.c,v 1.22 1998/09/01 03:22:32 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/Attic/nodeTee.c,v 1.23 1998/09/01 04:28:40 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -168,8 +168,8 @@ ExecInitTee(Tee *node, EState *currentEstate, Plan *parent)
bufferRel = heap_openr(teeState->tee_bufferRelname);
else
bufferRel = heap_open(
- heap_create_with_catalog(teeState->tee_bufferRelname,
- tupType, RELKIND_RELATION));
+ heap_create_with_catalog(teeState->tee_bufferRelname,
+ tupType, RELKIND_RELATION));
}
else
{
@@ -178,8 +178,8 @@ ExecInitTee(Tee *node, EState *currentEstate, Plan *parent)
newoid());
/* bufferRel = ExecCreatR(len, tupType, _TEMP_RELATION_ID); */
bufferRel = heap_open(
- heap_create_with_catalog(teeState->tee_bufferRelname,
- tupType, RELKIND_RELATION));
+ heap_create_with_catalog(teeState->tee_bufferRelname,
+ tupType, RELKIND_RELATION));
}
teeState->tee_bufferRel = bufferRel;
@@ -228,11 +228,11 @@ ExecCountSlotsTee(Tee *node)
static void
initTeeScanDescs(Tee *node)
{
- TeeState *teeState;
- Relation bufferRel;
- ScanDirection dir;
- Snapshot snapshot;
- MemoryContext orig;
+ TeeState *teeState;
+ Relation bufferRel;
+ ScanDirection dir;
+ Snapshot snapshot;
+ MemoryContext orig;
teeState = node->teestate;
if (teeState->tee_leftScanDesc && teeState->tee_rightScanDesc)
@@ -250,18 +250,18 @@ initTeeScanDescs(Tee *node)
{
teeState->tee_leftScanDesc = heap_beginscan(bufferRel,
ScanDirectionIsBackward(dir),
- snapshot,
- 0, /* num scan keys */
- NULL /* scan keys */
+ snapshot,
+ 0, /* num scan keys */
+ NULL /* scan keys */
);
}
if (teeState->tee_rightScanDesc == NULL)
{
teeState->tee_rightScanDesc = heap_beginscan(bufferRel,
ScanDirectionIsBackward(dir),
- snapshot,
- 0, /* num scan keys */
- NULL /* scan keys */
+ snapshot,
+ 0, /* num scan keys */
+ NULL /* scan keys */
);
}
@@ -365,7 +365,7 @@ ExecTee(Tee *node, Plan *parent)
HeapTuple throwAway;
/* Buffer buffer; */
- throwAway = heap_getnext(scanDesc,ScanDirectionIsBackward(dir));
+ throwAway = heap_getnext(scanDesc, ScanDirectionIsBackward(dir));
}
/*
@@ -406,7 +406,7 @@ ExecTee(Tee *node, Plan *parent)
result = ExecStoreTuple(heapTuple, /* tuple to store */
slot, /* slot to store in */
- scanDesc->rs_cbuf, /* this tuple's buffer */
+ scanDesc->rs_cbuf, /* this tuple's buffer */
false); /* don't free stuff from
* heap_getnext */
diff --git a/src/backend/executor/spi.c b/src/backend/executor/spi.c
index 17f81537ee..f034dd064d 100644
--- a/src/backend/executor/spi.c
+++ b/src/backend/executor/spi.c
@@ -47,8 +47,7 @@ static int _SPI_pquery(QueryDesc *queryDesc, EState *state, int tcount);
static void _SPI_fetch(FetchStmt *stmt);
#endif
-static int
-_SPI_execute_plan(_SPI_plan *plan,
+static int _SPI_execute_plan(_SPI_plan *plan,
Datum *Values, char *Nulls, int tcount);
#define _SPI_CPLAN_CURCXT 0
@@ -466,7 +465,7 @@ SPI_gettype(TupleDesc tupdesc, int fnumber)
}
typeTuple = SearchSysCacheTuple(TYPOID,
- ObjectIdGetDatum(tupdesc->attrs[fnumber - 1]->atttypid),
+ ObjectIdGetDatum(tupdesc->attrs[fnumber - 1]->atttypid),
0, 0, 0);
if (!HeapTupleIsValid(typeTuple))
diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c
index 027f945a3d..4b161ed0a1 100644
--- a/src/backend/libpq/auth.c
+++ b/src/backend/libpq/auth.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.30 1998/09/01 03:22:41 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.31 1998/09/01 04:28:44 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -140,7 +140,7 @@ pg_krb4_recvauth(Port *port)
return STATUS_ERROR;
}
-#endif /* KRB4 */
+#endif /* KRB4 */
#ifdef KRB5
@@ -320,7 +320,7 @@ pg_krb5_recvauth(Port *port)
return STATUS_ERROR;
}
-#endif /* KRB5 */
+#endif /* KRB5 */
/*
@@ -422,7 +422,7 @@ be_recvauth(Port *port)
*/
if (hba_getauthmethod(&port->raddr, port->user, port->database,
- port->auth_arg, &port->auth_method) != STATUS_OK)
+ port->auth_arg, &port->auth_method) != STATUS_OK)
PacketSendError(&port->pktInfo, "Missing or mis-configured pg_hba.conf file");
else if (PG_PROTOCOL_MAJOR(port->proto) == 0)
diff --git a/src/backend/libpq/be-fsstubs.c b/src/backend/libpq/be-fsstubs.c
index 7be91f13e8..b35eba81ca 100644
--- a/src/backend/libpq/be-fsstubs.c
+++ b/src/backend/libpq/be-fsstubs.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/libpq/be-fsstubs.c,v 1.25 1998/09/01 03:22:44 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/libpq/be-fsstubs.c,v 1.26 1998/09/01 04:28:46 momjian Exp $
*
* NOTES
* This should be moved to a more appropriate place. It is here
@@ -370,22 +370,23 @@ lo_export(Oid lobjId, text *filename)
/*
* lo_commit -
- * prepares large objects for transaction commit [PA, 7/17/98]
+ * prepares large objects for transaction commit [PA, 7/17/98]
*/
-void
+void
_lo_commit(void)
{
- int i;
+ int i;
MemoryContext currentContext;
if (fscxt == NULL)
return;
-
+
currentContext = MemoryContextSwitchTo((MemoryContext) fscxt);
for (i = 0; i < MAX_LOBJ_FDS; i++)
{
- if (cookies[i] != NULL) inv_cleanindex(cookies[i]);
+ if (cookies[i] != NULL)
+ inv_cleanindex(cookies[i]);
}
MemoryContextSwitchTo(currentContext);
diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c
index 83acfe4c00..381278e2b0 100644
--- a/src/backend/libpq/hba.c
+++ b/src/backend/libpq/hba.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.34 1998/09/01 03:22:46 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.35 1998/09/01 04:28:48 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -161,7 +161,7 @@ process_hba_record(FILE *file, SockAddr *raddr, const char *user,
/*---------------------------------------------------------------------------
Process the non-comment record in the config file that is next on the file.
See if it applies to a connection to a host with IP address "*raddr"
- to a database named "*database". If so, return *matches_p true
+ to a database named "*database". If so, return *matches_p true
and *userauth_p and *auth_arg as the values from the entry.
If not, leave *matches_p as it was. If the record has a syntax error,
return *error_p true, after issuing a message to stderr. If no error,
@@ -211,7 +211,7 @@ process_hba_record(FILE *file, SockAddr *raddr, const char *user,
*/
if ((strcmp(db, database) != 0 && strcmp(db, "all") != 0 &&
- (strcmp(db, "sameuser") != 0 || strcmp(database, user) != 0)) ||
+ (strcmp(db, "sameuser") != 0 || strcmp(database, user) != 0)) ||
raddr->sa.sa_family != AF_UNIX)
return;
}
@@ -271,7 +271,7 @@ process_hba_record(FILE *file, SockAddr *raddr, const char *user,
*/
if ((strcmp(db, database) != 0 && strcmp(db, "all") != 0 &&
- (strcmp(db, "sameuser") != 0 || strcmp(database, user) != 0)) ||
+ (strcmp(db, "sameuser") != 0 || strcmp(database, user) != 0)) ||
raddr->sa.sa_family != AF_INET ||
((file_ip_addr.s_addr ^ raddr->in.sin_addr.s_addr) & mask.s_addr) != 0x0000)
return;
@@ -679,7 +679,7 @@ parse_map_record(FILE *file,
return;
}
}
- sprintf(PQerrormsg,"Incomplete line in pg_ident: %s",file_map);
+ sprintf(PQerrormsg, "Incomplete line in pg_ident: %s", file_map);
fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg);
}
diff --git a/src/backend/libpq/portal.c b/src/backend/libpq/portal.c
index 679d9bdc9b..3fb02b03ec 100644
--- a/src/backend/libpq/portal.c
+++ b/src/backend/libpq/portal.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/portal.c,v 1.16 1998/09/01 03:22:48 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/portal.c,v 1.17 1998/09/01 04:28:50 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -481,7 +481,7 @@ PQftype(PortalBuffer *portal, int tuple_index, int field_number)
return -1;
if ((gbp = PQgroup(portal, tuple_index)) &&
- in_range("PQftype: field number", field_number, 0, gbp->no_fields))
+ in_range("PQftype: field number", field_number, 0, gbp->no_fields))
return gbp->types[field_number].typid;
return -1;
}
diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c
index f44176400c..349765f171 100644
--- a/src/backend/libpq/pqcomm.c
+++ b/src/backend/libpq/pqcomm.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.52 1998/09/01 03:22:50 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.53 1998/09/01 04:28:51 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -60,8 +60,8 @@
#if defined(linux)
#ifndef SOMAXCONN
#define SOMAXCONN 5 /* from Linux listen(2) man page */
-#endif /* SOMAXCONN */
-#endif /* linux */
+#endif /* SOMAXCONN */
+#endif /* linux */
#include "miscadmin.h"
#include "libpq/pqsignal.h"
@@ -184,8 +184,9 @@ pq_getstr(char *s, int maxlen)
int c = '\0';
#ifdef MULTIBYTE
- unsigned char *p, *ps;
- int len;
+ unsigned char *p,
+ *ps;
+ int len;
ps = s;
len = maxlen;
@@ -203,11 +204,12 @@ pq_getstr(char *s, int maxlen)
#ifdef MULTIBYTE
p = pg_client_to_server(ps, len);
- if (ps != p) { /* actual conversion has been done? */
- strcpy(ps, p);
+ if (ps != p)
+ { /* actual conversion has been done? */
+ strcpy(ps, p);
}
#endif
-
+
/* -----------------
* If EOF reached let caller know.
* (This will only happen if we hit EOF before the string
@@ -344,12 +346,12 @@ void
pq_putstr(char *s)
{
#ifdef MULTIBYTE
- unsigned char *p;
+ unsigned char *p;
- p = pg_server_to_client(s, strlen(s));
+ p = pg_server_to_client(s, strlen(s));
if (pqPutString(p, Pfout))
#else
- if (pqPutString(s, Pfout))
+ if (pqPutString(s, Pfout))
#endif
{
sprintf(PQerrormsg,
@@ -555,16 +557,18 @@ StreamServerPort(char *hostName, short portName, int *fdP)
strcpy(sock_path, saddr.un.sun_path);
/*
- * If the socket exists but nobody has an advisory lock on it
- * we can safely delete the file.
+ * If the socket exists but nobody has an advisory lock on it we
+ * can safely delete the file.
*/
- if ((lock_fd = open(sock_path, O_RDONLY|O_NONBLOCK, 0666)) >= 0) {
- if (flock(lock_fd, LOCK_EX|LOCK_NB) == 0) {
+ if ((lock_fd = open(sock_path, O_RDONLY | O_NONBLOCK, 0666)) >= 0)
+ {
+ if (flock(lock_fd, LOCK_EX | LOCK_NB) == 0)
+ {
TPRINTF(TRACE_VERBOSE, "flock on %s, deleting", sock_path);
unlink(sock_path);
- } else {
- TPRINTF(TRACE_VERBOSE, "flock failed for %s", sock_path);
}
+ else
+ TPRINTF(TRACE_VERBOSE, "flock failed for %s", sock_path);
close(lock_fd);
}
}
@@ -584,8 +588,8 @@ StreamServerPort(char *hostName, short portName, int *fdP)
strcat(PQerrormsg,
"\tIs another postmaster already running on that port?\n");
if (family == AF_UNIX)
- sprintf(PQerrormsg+strlen(PQerrormsg),
- "\tIf not, remove socket node (%s) and retry.\n",
+ sprintf(PQerrormsg + strlen(PQerrormsg),
+ "\tIf not, remove socket node (%s) and retry.\n",
sock_path);
else
strcat(PQerrormsg, "\tIf not, wait a few seconds and retry.\n");
@@ -593,17 +597,18 @@ StreamServerPort(char *hostName, short portName, int *fdP)
return STATUS_ERROR;
}
- if (family == AF_UNIX) {
+ if (family == AF_UNIX)
+ {
on_proc_exit(StreamDoUnlink, NULL);
/*
- * Open the socket file and get an advisory lock on it.
- * The lock_fd is left open to keep the lock.
+ * Open the socket file and get an advisory lock on it. The
+ * lock_fd is left open to keep the lock.
*/
- if ((lock_fd = open(sock_path, O_RDONLY|O_NONBLOCK, 0666)) >= 0) {
- if (flock(lock_fd, LOCK_EX|LOCK_NB) != 0) {
+ if ((lock_fd = open(sock_path, O_RDONLY | O_NONBLOCK, 0666)) >= 0)
+ {
+ if (flock(lock_fd, LOCK_EX | LOCK_NB) != 0)
TPRINTF(TRACE_VERBOSE, "flock error for %s", sock_path);
- }
}
}
@@ -775,12 +780,13 @@ StreamOpen(char *hostName, short portName, Port *port)
void
pq_putncharlen(char *s, int n)
{
- unsigned char *p;
- int len;
+ unsigned char *p;
+ int len;
- p = pg_server_to_client(s, n);
- len = strlen(p);
- pq_putint(len, sizeof(int));
- pq_putnchar(p, len);
+ p = pg_server_to_client(s, n);
+ len = strlen(p);
+ pq_putint(len, sizeof(int));
+ pq_putnchar(p, len);
}
+
#endif
diff --git a/src/backend/libpq/pqpacket.c b/src/backend/libpq/pqpacket.c
index 5307adb7bc..952f652b76 100644
--- a/src/backend/libpq/pqpacket.c
+++ b/src/backend/libpq/pqpacket.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/pqpacket.c,v 1.17 1998/08/25 21:22:27 scrappy Exp $
+ * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/pqpacket.c,v 1.18 1998/09/01 04:28:53 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -118,7 +118,8 @@ PacketReceiveFragment(Packet *pkt, int sock)
* Set up a packet write for the postmaster event loop.
*/
-void PacketSendSetup(Packet *pkt, int nbytes, PacketDoneProc iodone, void *arg)
+void
+PacketSendSetup(Packet *pkt, int nbytes, PacketDoneProc iodone, void *arg)
{
pkt->len = (PacketLen) nbytes;
pkt->nrtodo = nbytes;
diff --git a/src/backend/libpq/pqsignal.c b/src/backend/libpq/pqsignal.c
index ab5afd12eb..d06909f828 100644
--- a/src/backend/libpq/pqsignal.c
+++ b/src/backend/libpq/pqsignal.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/libpq/pqsignal.c,v 1.9 1998/09/01 03:22:52 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/libpq/pqsignal.c,v 1.10 1998/09/01 04:28:55 momjian Exp $
*
* NOTES
* This shouldn't be in libpq, but the monitor and some other
@@ -60,5 +60,5 @@ pqsignal(int signo, pqsigfunc func)
if (sigaction(signo, &act, &oact) < 0)
return SIG_ERR;
return oact.sa_handler;
-#endif /* !USE_POSIX_SIGNALS */
+#endif /* !USE_POSIX_SIGNALS */
}
diff --git a/src/backend/main/main.c b/src/backend/main/main.c
index 30e7ed3bc5..7f123d9dfd 100644
--- a/src/backend/main/main.c
+++ b/src/backend/main/main.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/main/main.c,v 1.21 1998/06/15 19:28:28 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/main/main.c,v 1.22 1998/09/01 04:28:57 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -45,11 +45,11 @@ main(int argc, char *argv[])
#ifdef NOFIXADE
int buffer[] = {SSIN_UACPROC, UAC_SIGBUS};
-#endif /* NOFIXADE */
+#endif /* NOFIXADE */
#ifdef NOPRINTADE
int buffer[] = {SSIN_UACPROC, UAC_NOPRINT};
-#endif /* NOPRINTADE */
+#endif /* NOPRINTADE */
#endif
#ifdef USE_LOCALE
@@ -75,7 +75,7 @@ main(int argc, char *argv[])
elog(NOTICE, "setsysinfo failed: %d\n", errno);
#endif
-#endif /* NOFIXADE || NOPRINTADE */
+#endif /* NOFIXADE || NOPRINTADE */
/*
* use one executable for both postgres and postmaster, invoke one or
diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c
index d7dc535812..5083b47dbf 100644
--- a/src/backend/nodes/copyfuncs.c
+++ b/src/backend/nodes/copyfuncs.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.47 1998/09/01 03:22:53 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.48 1998/09/01 04:29:00 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -999,9 +999,9 @@ _copyArrayRef(ArrayRef *from)
** -- JMH, 8/2/93
*/
static RelOptInfo *
-_copyRelOptInfo(RelOptInfo *from)
+_copyRelOptInfo(RelOptInfo * from)
{
- RelOptInfo *newnode = makeNode(RelOptInfo);
+ RelOptInfo *newnode = makeNode(RelOptInfo);
int i,
len;
@@ -1320,9 +1320,9 @@ _copyMergeOrder(MergeOrder *from)
* ----------------
*/
static ClauseInfo *
-_copyClauseInfo(ClauseInfo *from)
+_copyClauseInfo(ClauseInfo * from)
{
- ClauseInfo *newnode = makeNode(ClauseInfo);
+ ClauseInfo *newnode = makeNode(ClauseInfo);
/* ----------------
* copy remainder of node
@@ -1413,9 +1413,9 @@ _copyMInfo(MInfo *from)
* ----------------
*/
static JoinInfo *
-_copyJoinInfo(JoinInfo *from)
+_copyJoinInfo(JoinInfo * from)
{
- JoinInfo *newnode = makeNode(JoinInfo);
+ JoinInfo *newnode = makeNode(JoinInfo);
/* ----------------
* copy remainder of node
diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c
index 5e9be73256..7a82ad99fd 100644
--- a/src/backend/nodes/equalfuncs.c
+++ b/src/backend/nodes/equalfuncs.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.19 1998/09/01 03:22:55 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.20 1998/09/01 04:29:03 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -281,7 +281,7 @@ _equalFunc(Func *a, Func *b)
* ClauseInfo is a subclass of Node.
*/
static bool
-_equalClauseInfo(ClauseInfo *a, ClauseInfo *b)
+_equalClauseInfo(ClauseInfo * a, ClauseInfo * b)
{
Assert(IsA(a, ClauseInfo));
Assert(IsA(b, ClauseInfo));
@@ -306,7 +306,7 @@ _equalClauseInfo(ClauseInfo *a, ClauseInfo *b)
* RelOptInfo is a subclass of Node.
*/
static bool
-_equalRelOptInfo(RelOptInfo *a, RelOptInfo *b)
+_equalRelOptInfo(RelOptInfo * a, RelOptInfo * b)
{
Assert(IsA(a, RelOptInfo));
Assert(IsA(b, RelOptInfo));
@@ -530,7 +530,7 @@ _equalSubPlan(SubPlan *a, SubPlan *b)
}
static bool
-_equalJoinInfo(JoinInfo *a, JoinInfo *b)
+_equalJoinInfo(JoinInfo * a, JoinInfo * b)
{
Assert(IsA(a, JoinInfo));
Assert(IsA(b, JoinInfo));
diff --git a/src/backend/nodes/list.c b/src/backend/nodes/list.c
index c19a85ac50..19ebe881b1 100644
--- a/src/backend/nodes/list.c
+++ b/src/backend/nodes/list.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/list.c,v 1.14 1998/09/01 03:22:56 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/list.c,v 1.15 1998/09/01 04:29:05 momjian Exp $
*
* NOTES
* XXX a few of the following functions are duplicated to handle
@@ -105,7 +105,7 @@ nconc(List *l1, List *l2)
;
lnext(temp) = l2;
- return l1; /* list1 is now list1+list2 */
+ return l1; /* list1 is now list1+list2 */
}
@@ -305,10 +305,10 @@ LispUnion(List *l1, List *l2)
List *j = NIL;
if (l1 == NIL)
- return l2; /* XXX - should be copy of l2 */
+ return l2; /* XXX - should be copy of l2 */
if (l2 == NIL)
- return l1; /* XXX - should be copy of l1 */
+ return l1; /* XXX - should be copy of l1 */
foreach(i, l1)
{
@@ -335,10 +335,10 @@ LispUnioni(List *l1, List *l2)
List *j = NIL;
if (l1 == NIL)
- return l2; /* XXX - should be copy of l2 */
+ return l2; /* XXX - should be copy of l2 */
if (l2 == NIL)
- return l1; /* XXX - should be copy of l1 */
+ return l1; /* XXX - should be copy of l1 */
foreach(i, l1)
{
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c
index c515bde33b..f018fc5892 100644
--- a/src/backend/nodes/outfuncs.c
+++ b/src/backend/nodes/outfuncs.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.45 1998/09/01 03:22:59 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.46 1998/09/01 04:29:07 momjian Exp $
*
* NOTES
* Every (plan) node in POSTGRES has an associated "out" routine which
@@ -129,6 +129,7 @@ _outFuncCall(StringInfo str, FuncCall *node)
appendStringInfo(str, " :args ");
_outNode(str, node->args);
}
+
#endif
static void
@@ -660,7 +661,8 @@ _outResdom(StringInfo str, Resdom *node)
sprintf(buf, " :restypmod %d ", node->restypmod);
appendStringInfo(str, buf);
appendStringInfo(str, " :resname ");
- sprintf(buf,"\"%s\"", node->resname); /* fix for SELECT col AS "my name" */
+ sprintf(buf, "\"%s\"", node->resname); /* fix for SELECT col AS
+ * "my name" */
appendStringInfo(str, buf);
sprintf(buf, " :reskey %d ", node->reskey);
appendStringInfo(str, buf);
@@ -990,7 +992,7 @@ _outEState(StringInfo str, EState *node)
* Stuff from relation.h
*/
static void
-_outRelOptInfo(StringInfo str, RelOptInfo *node)
+_outRelOptInfo(StringInfo str, RelOptInfo * node)
{
char buf[500];
@@ -1356,7 +1358,7 @@ _outMergeOrder(StringInfo str, MergeOrder *node)
* ClauseInfo is a subclass of Node.
*/
static void
-_outClauseInfo(StringInfo str, ClauseInfo *node)
+_outClauseInfo(StringInfo str, ClauseInfo * node)
{
char buf[500];
@@ -1424,7 +1426,7 @@ _outHInfo(StringInfo str, HInfo *node)
* JoinInfo is a subclass of Node.
*/
static void
-_outJoinInfo(StringInfo str, JoinInfo *node)
+_outJoinInfo(StringInfo str, JoinInfo * node)
{
appendStringInfo(str, " JINFO ");
diff --git a/src/backend/nodes/print.c b/src/backend/nodes/print.c
index 585144007f..af3a3eb847 100644
--- a/src/backend/nodes/print.c
+++ b/src/backend/nodes/print.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/print.c,v 1.17 1998/08/16 05:35:35 thomas Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/print.c,v 1.18 1998/09/01 04:29:10 momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -201,7 +201,7 @@ print_expr(Node *expr, List *rtable)
print_expr((Node *) get_leftop(e), rtable);
opname = get_opname(((Oper *) e->oper)->opno);
- printf(" %s ", ((opname != NULL)? opname: "(invalid operator)"));
+ printf(" %s ", ((opname != NULL) ? opname : "(invalid operator)"));
print_expr((Node *) get_rightop(e), rtable);
}
else
@@ -392,13 +392,16 @@ print_plan_recursive(Plan *p, Query *parsetree, int indentLevel, char *label)
{
List *lst;
int whichplan = 0;
- Append *appendplan = (Append *)p;
-
+ Append *appendplan = (Append *) p;
+
foreach(lst, appendplan->appendplans)
{
- Plan *subnode = (Plan *)lfirst(lst);
+ Plan *subnode = (Plan *) lfirst(lst);
- /* I don't think we need to fiddle with the range table here, bjm */
+ /*
+ * I don't think we need to fiddle with the range table here,
+ * bjm
+ */
print_plan_recursive(subnode, parsetree, indentLevel + 3, "a: ");
whichplan++;
diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c
index 804942800f..9ffbc29043 100644
--- a/src/backend/nodes/readfuncs.c
+++ b/src/backend/nodes/readfuncs.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.36 1998/09/01 03:23:03 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.37 1998/09/01 04:29:12 momjian Exp $
*
* NOTES
* Most of the read functions for plan nodes are tested. (In fact, they
@@ -326,14 +326,14 @@ _readAppend()
local_node->appendplans = nodeRead(true); /* now read it */
token = lsptok(NULL, &length); /* eat :unionrtables */
- local_node->unionrtables = nodeRead(true); /* now read it */
+ local_node->unionrtables = nodeRead(true); /* now read it */
token = lsptok(NULL, &length); /* eat :inheritrelid */
token = lsptok(NULL, &length); /* get inheritrelid */
local_node->inheritrelid = strtoul(token, NULL, 10);
token = lsptok(NULL, &length); /* eat :inheritrtable */
- local_node->inheritrtable = nodeRead(true); /* now read it */
+ local_node->inheritrtable = nodeRead(true); /* now read it */
return local_node;
}
@@ -716,7 +716,7 @@ _readResdom()
else
{
local_node->resname = (char *) palloc(length + 1);
- StrNCpy(local_node->resname, token+1, length + 1 - 2);/* strip quotes */
+ StrNCpy(local_node->resname, token + 1, length + 1 - 2); /* strip quotes */
}
token = lsptok(NULL, &length); /* eat :reskey */
@@ -1224,7 +1224,7 @@ _readEState()
static RelOptInfo *
_readRelOptInfo()
{
- RelOptInfo *local_node;
+ RelOptInfo *local_node;
char *token;
int length;
@@ -1769,7 +1769,7 @@ _readMergeOrder()
static ClauseInfo *
_readClauseInfo()
{
- ClauseInfo *local_node;
+ ClauseInfo *local_node;
char *token;
int length;
@@ -1867,7 +1867,7 @@ _readHInfo()
static JoinInfo *
_readJoinInfo()
{
- JoinInfo *local_node;
+ JoinInfo *local_node;
char *token;
int length;
diff --git a/src/backend/optimizer/geqo/geqo_eval.c b/src/backend/optimizer/geqo/geqo_eval.c
index cf52ddfc45..4d2df3373c 100644
--- a/src/backend/optimizer/geqo/geqo_eval.c
+++ b/src/backend/optimizer/geqo/geqo_eval.c
@@ -5,7 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: geqo_eval.c,v 1.23 1998/09/01 03:23:07 momjian Exp $
+ * $Id: geqo_eval.c,v 1.24 1998/09/01 04:29:16 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -50,12 +50,12 @@
#include "optimizer/geqo_paths.h"
-static List *gimme_clause_joins(Query *root, RelOptInfo *outer_rel, RelOptInfo *inner_rel);
-static RelOptInfo *gimme_clauseless_join(RelOptInfo *outer_rel, RelOptInfo *inner_rel);
-static RelOptInfo *init_join_rel(RelOptInfo *outer_rel, RelOptInfo *inner_rel, JoinInfo *joininfo);
+static List *gimme_clause_joins(Query *root, RelOptInfo * outer_rel, RelOptInfo * inner_rel);
+static RelOptInfo *gimme_clauseless_join(RelOptInfo * outer_rel, RelOptInfo * inner_rel);
+static RelOptInfo *init_join_rel(RelOptInfo * outer_rel, RelOptInfo * inner_rel, JoinInfo * joininfo);
static List *new_join_tlist(List *tlist, List *other_relids, int first_resdomno);
static List *new_joininfo_list(List *joininfo_list, List *join_relids);
-static void geqo_joinrel_size(RelOptInfo *joinrel, RelOptInfo *outer_rel, RelOptInfo *inner_rel);
+static void geqo_joinrel_size(RelOptInfo * joinrel, RelOptInfo * outer_rel, RelOptInfo * inner_rel);
static RelOptInfo *geqo_nth(int stop, List *rels);
/*
@@ -66,7 +66,7 @@ static RelOptInfo *geqo_nth(int stop, List *rels);
Cost
geqo_eval(Query *root, Gene *tour, int num_gene)
{
- RelOptInfo *joinrel;
+ RelOptInfo *joinrel;
Cost fitness;
List *temp;
@@ -99,13 +99,13 @@ geqo_eval(Query *root, Gene *tour, int num_gene)
* Returns a new join relation incorporating all joins in a left-sided tree.
*/
RelOptInfo *
-gimme_tree(Query *root, Gene *tour, int rel_count, int num_gene, RelOptInfo *outer_rel)
+gimme_tree(Query *root, Gene *tour, int rel_count, int num_gene, RelOptInfo * outer_rel)
{
- RelOptInfo *inner_rel; /* current relation */
+ RelOptInfo *inner_rel; /* current relation */
int base_rel_index;
List *new_rels = NIL;
- RelOptInfo *new_rel = NULL;
+ RelOptInfo *new_rel = NULL;
if (rel_count < num_gene)
{ /* tree not yet finished */
@@ -189,7 +189,7 @@ gimme_tree(Query *root, Gene *tour, int rel_count, int num_gene, RelOptInfo *out
*/
static List *
-gimme_clause_joins(Query *root, RelOptInfo *outer_rel, RelOptInfo *inner_rel)
+gimme_clause_joins(Query *root, RelOptInfo * outer_rel, RelOptInfo * inner_rel)
{
List *join_list = NIL;
List *i = NIL;
@@ -197,8 +197,8 @@ gimme_clause_joins(Query *root, RelOptInfo *outer_rel, RelOptInfo *inner_rel)
foreach(i, joininfo_list)
{
- JoinInfo *joininfo = (JoinInfo *) lfirst(i);
- RelOptInfo *rel = NULL;
+ JoinInfo *joininfo = (JoinInfo *) lfirst(i);
+ RelOptInfo *rel = NULL;
if (!joininfo->inactive)
{
@@ -240,7 +240,7 @@ gimme_clause_joins(Query *root, RelOptInfo *outer_rel, RelOptInfo *inner_rel)
*/
static RelOptInfo *
-gimme_clauseless_join(RelOptInfo *outer_rel, RelOptInfo *inner_rel)
+gimme_clauseless_join(RelOptInfo * outer_rel, RelOptInfo * inner_rel)
{
return init_join_rel(outer_rel, inner_rel, (JoinInfo *) NULL);
}
@@ -257,9 +257,9 @@ gimme_clauseless_join(RelOptInfo *outer_rel, RelOptInfo *inner_rel)
* Returns the new join relation node.
*/
static RelOptInfo *
-init_join_rel(RelOptInfo *outer_rel, RelOptInfo *inner_rel, JoinInfo *joininfo)
+init_join_rel(RelOptInfo * outer_rel, RelOptInfo * inner_rel, JoinInfo * joininfo)
{
- RelOptInfo *joinrel = makeNode(RelOptInfo);
+ RelOptInfo *joinrel = makeNode(RelOptInfo);
List *joinrel_joininfo_list = NIL;
List *new_outer_tlist;
List *new_inner_tlist;
@@ -389,13 +389,13 @@ new_joininfo_list(List *joininfo_list, List *join_relids)
{
List *current_joininfo_list = NIL;
List *new_otherrels = NIL;
- JoinInfo *other_joininfo = (JoinInfo *) NULL;
+ JoinInfo *other_joininfo = (JoinInfo *) NULL;
List *xjoininfo = NIL;
foreach(xjoininfo, joininfo_list)
{
List *or;
- JoinInfo *joininfo = (JoinInfo *) lfirst(xjoininfo);
+ JoinInfo *joininfo = (JoinInfo *) lfirst(xjoininfo);
new_otherrels = joininfo->otherrels;
foreach(or, new_otherrels)
@@ -457,16 +457,16 @@ geqo_add_new_joininfos(Query *root, List *joinrels, List *outerrels)
List *xrel = NIL;
List *xjoininfo = NIL;
- RelOptInfo *rel;
+ RelOptInfo *rel;
List *relids;
List *super_rels;
List *xsuper_rel = NIL;
- JoinInfo *new_joininfo;
+ JoinInfo *new_joininfo;
foreach(xjoinrel, joinrels)
{
- RelOptInfo *joinrel = (RelOptInfo *) lfirst(xjoinrel);
+ RelOptInfo *joinrel = (RelOptInfo *) lfirst(xjoinrel);
foreach(xrelid, joinrel->relids)
{
@@ -477,8 +477,8 @@ geqo_add_new_joininfos(Query *root, List *joinrels, List *outerrels)
*/
/*
- * ! BUG BUG ! Relid relid = (Relid)lfirst(xrelid); RelOptInfo *rel =
- * get_join_rel(root, relid);
+ * ! BUG BUG ! Relid relid = (Relid)lfirst(xrelid); RelOptInfo
+ * *rel = get_join_rel(root, relid);
*/
/*
@@ -502,11 +502,11 @@ geqo_add_new_joininfos(Query *root, List *joinrels, List *outerrels)
}
foreach(xjoinrel, joinrels)
{
- RelOptInfo *joinrel = (RelOptInfo *) lfirst(xjoinrel);
+ RelOptInfo *joinrel = (RelOptInfo *) lfirst(xjoinrel);
foreach(xjoininfo, joinrel->joininfo)
{
- JoinInfo *joininfo = (JoinInfo *) lfirst(xjoininfo);
+ JoinInfo *joininfo = (JoinInfo *) lfirst(xjoininfo);
List *other_rels = joininfo->otherrels;
List *clause_info = joininfo->jinfoclauseinfo;
bool mergejoinable = joininfo->mergejoinable;
@@ -516,8 +516,8 @@ geqo_add_new_joininfos(Query *root, List *joinrels, List *outerrels)
{
/*
- * ! BUG BUG ! Relid relid = (Relid)lfirst(xrelid); RelOptInfo
- * *rel = get_join_rel(root, relid);
+ * ! BUG BUG ! Relid relid = (Relid)lfirst(xrelid);
+ * RelOptInfo *rel = get_join_rel(root, relid);
*/
/*
@@ -549,12 +549,12 @@ geqo_add_new_joininfos(Query *root, List *joinrels, List *outerrels)
foreach(xsuper_rel, super_rels)
{
- RelOptInfo *super_rel = (RelOptInfo *) lfirst(xsuper_rel);
+ RelOptInfo *super_rel = (RelOptInfo *) lfirst(xsuper_rel);
if (nonoverlap_rels(super_rel, joinrel))
{
List *new_relids = super_rel->relids;
- JoinInfo *other_joininfo =
+ JoinInfo *other_joininfo =
joininfo_member(new_relids,
joinrel->joininfo);
@@ -566,7 +566,7 @@ geqo_add_new_joininfos(Query *root, List *joinrels, List *outerrels)
}
else
{
- JoinInfo *new_joininfo = makeNode(JoinInfo);
+ JoinInfo *new_joininfo = makeNode(JoinInfo);
new_joininfo->otherrels = new_relids;
new_joininfo->jinfoclauseinfo = clause_info;
@@ -611,13 +611,13 @@ geqo_final_join_rels(List *join_rel_list)
*/
foreach(xrel, join_rel_list)
{
- RelOptInfo *rel = (RelOptInfo *) lfirst(xrel);
+ RelOptInfo *rel = (RelOptInfo *) lfirst(xrel);
List *xjoininfo = NIL;
bool final = true;
foreach(xjoininfo, rel->joininfo)
{
- JoinInfo *joininfo = (JoinInfo *) lfirst(xjoininfo);
+ JoinInfo *joininfo = (JoinInfo *) lfirst(xjoininfo);
if (joininfo->otherrels != NIL)
{
@@ -645,7 +645,7 @@ geqo_final_join_rels(List *join_rel_list)
* Modifies the superrels field of rel
*/
static void
-add_superrels(RelOptInfo *rel, RelOptInfo *super_rel)
+add_superrels(RelOptInfo * rel, RelOptInfo * super_rel)
{
rel->superrels = lappend(rel->superrels, super_rel);
}
@@ -660,7 +660,7 @@ add_superrels(RelOptInfo *rel, RelOptInfo *super_rel)
* Returns non-nil if rel1 and rel2 do not overlap.
*/
static bool
-nonoverlap_rels(RelOptInfo *rel1, RelOptInfo *rel2)
+nonoverlap_rels(RelOptInfo * rel1, RelOptInfo * rel2)
{
return nonoverlap_sets(rel1->relids, rel2->relids);
}
@@ -680,7 +680,7 @@ nonoverlap_sets(List *s1, List *s2)
return true;
}
-#endif /* NOTUSED */
+#endif /* NOTUSED */
/*
* geqo_joinrel_size--
@@ -688,7 +688,7 @@ nonoverlap_sets(List *s1, List *s2)
* long join queries; so get logarithm of size when MAXINT overflow;
*/
static void
-geqo_joinrel_size(RelOptInfo *joinrel, RelOptInfo *outer_rel, RelOptInfo *inner_rel)
+geqo_joinrel_size(RelOptInfo * joinrel, RelOptInfo * outer_rel, RelOptInfo * inner_rel)
{
Cost temp;
int ntuples;
diff --git a/src/backend/optimizer/geqo/geqo_main.c b/src/backend/optimizer/geqo/geqo_main.c
index fd75985c40..68b8f6245e 100644
--- a/src/backend/optimizer/geqo/geqo_main.c
+++ b/src/backend/optimizer/geqo/geqo_main.c
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: geqo_main.c,v 1.10 1998/09/01 03:23:09 momjian Exp $
+ * $Id: geqo_main.c,v 1.11 1998/09/01 04:29:18 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -98,7 +98,7 @@ geqo(Query *root)
status_interval;
Gene *best_tour;
- RelOptInfo *best_rel;
+ RelOptInfo *best_rel;
/* Plan *best_plan; */
diff --git a/src/backend/optimizer/geqo/geqo_misc.c b/src/backend/optimizer/geqo/geqo_misc.c
index c1dab6a99c..e79b2138ea 100644
--- a/src/backend/optimizer/geqo/geqo_misc.c
+++ b/src/backend/optimizer/geqo/geqo_misc.c
@@ -5,7 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: geqo_misc.c,v 1.10 1998/09/01 03:23:10 momjian Exp $
+ * $Id: geqo_misc.c,v 1.11 1998/09/01 04:29:19 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -146,7 +146,7 @@ geqo_print_joinclauses(Query *root, List *clauses)
foreach(l, clauses)
{
- ClauseInfo *c = lfirst(l);
+ ClauseInfo *c = lfirst(l);
print_expr((Node *) c->clause, root->rtable);
if (lnext(l))
@@ -262,7 +262,7 @@ geqo_print_path(Query *root, Path *path, int indent)
}
void
-geqo_print_rel(Query *root, RelOptInfo *rel)
+geqo_print_rel(Query *root, RelOptInfo * rel)
{
List *l;
diff --git a/src/backend/optimizer/geqo/geqo_paths.c b/src/backend/optimizer/geqo/geqo_paths.c
index a23c9010de..25928d167f 100644
--- a/src/backend/optimizer/geqo/geqo_paths.c
+++ b/src/backend/optimizer/geqo/geqo_paths.c
@@ -5,7 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: geqo_paths.c,v 1.11 1998/09/01 03:23:12 momjian Exp $
+ * $Id: geqo_paths.c,v 1.12 1998/09/01 04:29:21 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -28,8 +28,8 @@
#include "optimizer/geqo_paths.h"
-static List *geqo_prune_rel(RelOptInfo *rel, List *other_rels);
-static Path *set_paths(RelOptInfo *rel, Path *unorderedpath);
+static List *geqo_prune_rel(RelOptInfo * rel, List *other_rels);
+static Path *set_paths(RelOptInfo * rel, Path *unorderedpath);
/*
* geqo-prune-rels--
@@ -47,8 +47,8 @@ geqo_prune_rels(List *rel_list)
if (rel_list != NIL)
{
temp_list = lcons(lfirst(rel_list),
- geqo_prune_rels(geqo_prune_rel((RelOptInfo *) lfirst(rel_list),
- lnext(rel_list))));
+ geqo_prune_rels(geqo_prune_rel((RelOptInfo *) lfirst(rel_list),
+ lnext(rel_list))));
}
return temp_list;
}
@@ -65,12 +65,12 @@ geqo_prune_rels(List *rel_list)
*
*/
static List *
-geqo_prune_rel(RelOptInfo *rel, List *other_rels)
+geqo_prune_rel(RelOptInfo * rel, List *other_rels)
{
List *i = NIL;
List *t_list = NIL;
List *temp_node = NIL;
- RelOptInfo *other_rel = (RelOptInfo *) NULL;
+ RelOptInfo *other_rel = (RelOptInfo *) NULL;
foreach(i, other_rels)
{
@@ -102,7 +102,7 @@ geqo_prune_rel(RelOptInfo *rel, List *other_rels)
*
*/
void
-geqo_rel_paths(RelOptInfo *rel)
+geqo_rel_paths(RelOptInfo * rel)
{
List *y = NIL;
Path *path = (Path *) NULL;
@@ -134,7 +134,7 @@ geqo_rel_paths(RelOptInfo *rel)
*
*/
static Path *
-set_paths(RelOptInfo *rel, Path *unorderedpath)
+set_paths(RelOptInfo * rel, Path *unorderedpath)
{
Path *cheapest = set_cheapest(rel, rel->pathlist);
diff --git a/src/backend/optimizer/geqo/minspantree.c b/src/backend/optimizer/geqo/minspantree.c
index c4e1b53ad0..41171fc510 100644
--- a/src/backend/optimizer/geqo/minspantree.c
+++ b/src/backend/optimizer/geqo/minspantree.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
-* $Header: /cvsroot/pgsql/src/backend/optimizer/geqo/Attic/minspantree.c,v 1.7 1998/08/10 02:26:19 momjian Exp $
+* $Header: /cvsroot/pgsql/src/backend/optimizer/geqo/Attic/minspantree.c,v 1.8 1998/09/01 04:29:24 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -41,7 +41,7 @@
*/
void
-minspantree(Query *root, List *join_rels, RelOptInfo *garel)
+minspantree(Query *root, List *join_rels, RelOptInfo * garel)
{
int number_of_rels = length(root->base_rel_list);
int number_of_joins = length(join_rels);
@@ -70,8 +70,8 @@ minspantree(Query *root, List *join_rels, RelOptInfo *garel)
id1,
id2;
List *r = NIL;
- RelOptInfo *joinrel = NULL;
- RelOptInfo **tmprel_array;
+ RelOptInfo *joinrel = NULL;
+ RelOptInfo **tmprel_array;
/* allocate memory for matrix tmprel_array[x][y] */
@@ -111,9 +111,9 @@ minspantree(Query *root, List *join_rels, RelOptInfo *garel)
else if (number_of_joins == 3)
{
- RelOptInfo *rel12 = (RelOptInfo *) &tmprel_array[1][2];
- RelOptInfo *rel13 = (RelOptInfo *) &tmprel_array[1][3];
- RelOptInfo *rel23 = (RelOptInfo *) &tmprel_array[2][3];
+ RelOptInfo *rel12 = (RelOptInfo *) & tmprel_array[1][2];
+ RelOptInfo *rel13 = (RelOptInfo *) & tmprel_array[1][3];
+ RelOptInfo *rel23 = (RelOptInfo *) & tmprel_array[2][3];
if (rel12->cheapestpath->path_cost > rel13->cheapestpath->path_cost)
{
@@ -159,9 +159,9 @@ minspantree(Query *root, List *join_rels, RelOptInfo *garel)
if (connectto[tempn] != 0)
{
if (n > tempn)
- joinrel = (RelOptInfo *) &tmprel_array[tempn][n];
+ joinrel = (RelOptInfo *) & tmprel_array[tempn][n];
else
- joinrel = (RelOptInfo *) &tmprel_array[n][tempn];
+ joinrel = (RelOptInfo *) & tmprel_array[n][tempn];
dist = joinrel->cheapestpath->path_cost;
if (dist < disttoconnect[tempn])
diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c
index 00b22c0abc..8de364a04a 100644
--- a/src/backend/optimizer/path/allpaths.c
+++ b/src/backend/optimizer/path/allpaths.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.22 1998/09/01 03:23:17 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.23 1998/09/01 04:29:27 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -45,8 +45,10 @@ int32 _use_geqo_rels_ = GEQO_RELS;
static void find_rel_paths(Query *root, List *rels);
static List *find_join_paths(Query *root, List *outer_rels, int levels_needed);
+
#ifdef OPTIMIZER_DEBUG
-static void debug_print_rel(Query *root, RelOptInfo *rel);
+static void debug_print_rel(Query *root, RelOptInfo * rel);
+
#endif
/*
@@ -76,6 +78,7 @@ find_paths(Query *root, List *rels)
if (levels_needed <= 1)
{
+
/*
* Unsorted single relation, no more processing is required.
*/
@@ -83,6 +86,7 @@ find_paths(Query *root, List *rels)
}
else
{
+
/*
* this means that joins or sorts are required. set selectivities
* of clauses that have not been set by an index.
@@ -118,10 +122,10 @@ find_rel_paths(Query *root, List *rels)
sequential_scan_list = lcons(create_seqscan_path(rel), NIL);
rel_index_scan_list = find_index_paths(root,
- rel,
- find_relation_indices(root, rel),
- rel->clauseinfo,
- rel->joininfo);
+ rel,
+ find_relation_indices(root, rel),
+ rel->clauseinfo,
+ rel->joininfo);
or_index_scan_list = create_or_index_paths(root, rel, rel->clauseinfo);
@@ -180,7 +184,8 @@ find_join_paths(Query *root, List *outer_rels, int levels_needed)
*******************************************/
if ((_use_geqo_) && length(root->base_rel_list) >= _use_geqo_rels_)
- return lcons(geqo(root), NIL); /* returns *one* RelOptInfo, so lcons it */
+ return lcons(geqo(root), NIL); /* returns *one* RelOptInfo, so
+ * lcons it */
/*******************************************
* rest will be deprecated in case of GEQO *
@@ -280,7 +285,7 @@ print_joinclauses(Query *root, List *clauses)
foreach(l, clauses)
{
- ClauseInfo *c = lfirst(l);
+ ClauseInfo *c = lfirst(l);
print_expr((Node *) c->clause, root->rtable);
if (lnext(l))
@@ -396,7 +401,7 @@ print_path(Query *root, Path *path, int indent)
}
static void
-debug_print_rel(Query *root, RelOptInfo *rel)
+debug_print_rel(Query *root, RelOptInfo * rel)
{
List *l;
@@ -412,4 +417,4 @@ debug_print_rel(Query *root, RelOptInfo *rel)
print_path(root, rel->cheapestpath, 1);
}
-#endif /* OPTIMIZER_DEBUG */
+#endif /* OPTIMIZER_DEBUG */
diff --git a/src/backend/optimizer/path/clausesel.c b/src/backend/optimizer/path/clausesel.c
index 94cc5c71fc..8a0536c7bb 100644
--- a/src/backend/optimizer/path/clausesel.c
+++ b/src/backend/optimizer/path/clausesel.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/clausesel.c,v 1.12 1998/09/01 03:23:19 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/clausesel.c,v 1.13 1998/09/01 04:29:29 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -46,7 +46,7 @@ void
set_clause_selectivities(List *clauseinfo_list, Cost new_selectivity)
{
List *temp;
- ClauseInfo *clausenode;
+ ClauseInfo *clausenode;
Cost cost_clause;
foreach(temp, clauseinfo_list)
@@ -95,7 +95,7 @@ product_selec(List *clauseinfo_list)
void
set_rest_relselec(Query *root, List *rel_list)
{
- RelOptInfo *rel;
+ RelOptInfo *rel;
List *x;
foreach(x, rel_list)
@@ -117,7 +117,7 @@ void
set_rest_selec(Query *root, List *clauseinfo_list)
{
List *temp = NIL;
- ClauseInfo *clausenode = (ClauseInfo *) NULL;
+ ClauseInfo *clausenode = (ClauseInfo *) NULL;
Cost cost_clause;
foreach(temp, clauseinfo_list)
@@ -159,8 +159,8 @@ set_rest_selec(Query *root, List *clauseinfo_list)
Cost
compute_clause_selec(Query *root, Node *clause, List *or_selectivities)
{
- if (is_opclause(clause))
- return compute_selec(root, lcons(clause,NIL), or_selectivities);
+ if (is_opclause(clause))
+ return compute_selec(root, lcons(clause, NIL), or_selectivities);
else if (not_clause(clause))
{
@@ -182,9 +182,7 @@ compute_clause_selec(Query *root, Node *clause, List *or_selectivities)
return compute_selec(root, ((Expr *) clause)->args, or_selectivities);
}
else
- {
return compute_selec(root, lcons(clause, NIL), or_selectivities);
- }
}
/*
diff --git a/src/backend/optimizer/path/costsize.c b/src/backend/optimizer/path/costsize.c
index 7d00a7f1f5..5fbf3e5059 100644
--- a/src/backend/optimizer/path/costsize.c
+++ b/src/backend/optimizer/path/costsize.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/costsize.c,v 1.24 1998/09/01 03:23:20 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/costsize.c,v 1.25 1998/09/01 04:29:30 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -360,7 +360,7 @@ cost_hashjoin(Cost outercost,
* Returns the size.
*/
int
-compute_rel_size(RelOptInfo *rel)
+compute_rel_size(RelOptInfo * rel)
{
Cost temp;
int temp1;
@@ -383,7 +383,7 @@ compute_rel_size(RelOptInfo *rel)
* Returns the width of the tuple as a fixnum.
*/
int
-compute_rel_width(RelOptInfo *rel)
+compute_rel_width(RelOptInfo * rel)
{
return compute_targetlist_width(get_actual_tlist(rel->targetlist));
}
diff --git a/src/backend/optimizer/path/hashutils.c b/src/backend/optimizer/path/hashutils.c
index 29ce0f67fc..59bf4897c0 100644
--- a/src/backend/optimizer/path/hashutils.c
+++ b/src/backend/optimizer/path/hashutils.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/hashutils.c,v 1.6 1998/09/01 03:23:22 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/hashutils.c,v 1.7 1998/09/01 04:29:32 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -39,7 +39,7 @@ group_clauses_by_hashop(List *clauseinfo_list,
int inner_relid)
{
List *hashinfo_list = NIL;
- ClauseInfo *clauseinfo = (ClauseInfo *) NULL;
+ ClauseInfo *clauseinfo = (ClauseInfo *) NULL;
List *i = NIL;
Oid hashjoinop = 0;
@@ -121,7 +121,7 @@ match_hashop_hashinfo(Oid hashop, List *hashinfo_list)
key = xhashinfo->hashop;
if (hashop == key)
{ /* found */
- return xhashinfo; /* should be a hashinfo node ! */
+ return xhashinfo; /* should be a hashinfo node ! */
}
}
return (HInfo *) NIL;
diff --git a/src/backend/optimizer/path/indxpath.c b/src/backend/optimizer/path/indxpath.c
index 9d991d97aa..24f46ec933 100644
--- a/src/backend/optimizer/path/indxpath.c
+++ b/src/backend/optimizer/path/indxpath.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.33 1998/09/01 03:23:23 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.34 1998/09/01 04:29:33 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -41,46 +41,36 @@
#include "parser/parsetree.h" /* for getrelid() */
#include "parser/parse_expr.h" /* for exprType() */
#include "parser/parse_oper.h" /* for oprid() and oper() */
-#include "parser/parse_coerce.h" /* for IS_BINARY_COMPATIBLE() */
+#include "parser/parse_coerce.h"/* for IS_BINARY_COMPATIBLE() */
#include "utils/lsyscache.h"
-static void
-match_index_orclauses(RelOptInfo *rel, RelOptInfo *index, int indexkey,
+static void match_index_orclauses(RelOptInfo * rel, RelOptInfo * index, int indexkey,
int xclass, List *clauseinfo_list);
-static bool
-match_index_to_operand(int indexkey, Expr *operand,
- RelOptInfo *rel, RelOptInfo *index);
-static List *
-match_index_orclause(RelOptInfo *rel, RelOptInfo *index, int indexkey,
+static bool match_index_to_operand(int indexkey, Expr *operand,
+ RelOptInfo * rel, RelOptInfo * index);
+static List *match_index_orclause(RelOptInfo * rel, RelOptInfo * index, int indexkey,
int xclass, List *or_clauses, List *other_matching_indices);
-static List *
-group_clauses_by_indexkey(RelOptInfo *rel, RelOptInfo *index,
+static List *group_clauses_by_indexkey(RelOptInfo * rel, RelOptInfo * index,
int *indexkeys, Oid *classes, List *clauseinfo_list);
-static List *
-group_clauses_by_ikey_for_joins(RelOptInfo *rel, RelOptInfo *index,
+static List *group_clauses_by_ikey_for_joins(RelOptInfo * rel, RelOptInfo * index,
int *indexkeys, Oid *classes, List *join_cinfo_list, List *restr_cinfo_list);
-static ClauseInfo *
-match_clause_to_indexkey(RelOptInfo *rel, RelOptInfo *index, int indexkey,
- int xclass, ClauseInfo *clauseInfo, bool join);
-static bool
-pred_test(List *predicate_list, List *clauseinfo_list,
+static ClauseInfo *match_clause_to_indexkey(RelOptInfo * rel, RelOptInfo * index, int indexkey,
+ int xclass, ClauseInfo * clauseInfo, bool join);
+static bool pred_test(List *predicate_list, List *clauseinfo_list,
List *joininfo_list);
static bool one_pred_test(Expr *predicate, List *clauseinfo_list);
static bool one_pred_clause_expr_test(Expr *predicate, Node *clause);
static bool one_pred_clause_test(Expr *predicate, Node *clause);
static bool clause_pred_clause_test(Expr *predicate, Node *clause);
-static List *
-indexable_joinclauses(RelOptInfo *rel, RelOptInfo *index,
+static List *indexable_joinclauses(RelOptInfo * rel, RelOptInfo * index,
List *joininfo_list, List *clauseinfo_list);
-static List *
-index_innerjoin(Query *root, RelOptInfo *rel,
- List *clausegroup_list, RelOptInfo *index);
-static List *
-create_index_paths(Query *root, RelOptInfo *rel, RelOptInfo *index,
+static List *index_innerjoin(Query *root, RelOptInfo * rel,
+ List *clausegroup_list, RelOptInfo * index);
+static List *create_index_paths(Query *root, RelOptInfo * rel, RelOptInfo * index,
List *clausegroup_list, bool join);
static List *add_index_paths(List *indexpaths, List *new_indexpaths);
-static bool function_index_operand(Expr *funcOpnd, RelOptInfo *rel, RelOptInfo *index);
+static bool function_index_operand(Expr *funcOpnd, RelOptInfo * rel, RelOptInfo * index);
/* find_index_paths()
@@ -110,14 +100,14 @@ static bool function_index_operand(Expr *funcOpnd, RelOptInfo *rel, RelOptInfo *
*/
List *
find_index_paths(Query *root,
- RelOptInfo *rel,
+ RelOptInfo * rel,
List *indices,
List *clauseinfo_list,
List *joininfo_list)
{
List *scanclausegroups = NIL;
List *scanpaths = NIL;
- RelOptInfo *index = (RelOptInfo *) NULL;
+ RelOptInfo *index = (RelOptInfo *) NULL;
List *joinclausegroups = NIL;
List *joinpaths = NIL;
List *retval = NIL;
@@ -127,7 +117,10 @@ find_index_paths(Query *root,
{
index = (RelOptInfo *) lfirst(ilist);
- /* If this is a partial index, return if it fails the predicate test */
+ /*
+ * If this is a partial index, return if it fails the predicate
+ * test
+ */
if (index->indpred != NIL)
if (!pred_test(index->indpred, clauseinfo_list, joininfo_list))
continue;
@@ -136,20 +129,20 @@ find_index_paths(Query *root,
* 1. Try matching the index against subclauses of an 'or' clause.
* The fields of the clauseinfo nodes are marked with lists of the
* matching indices. No path are actually created. We currently
- * only look to match the first key. We don't find multi-key index
- * cases where an AND matches the first key, and the OR matches the
- * second key.
+ * only look to match the first key. We don't find multi-key
+ * index cases where an AND matches the first key, and the OR
+ * matches the second key.
*/
match_index_orclauses(rel,
- index,
- index->indexkeys[0],
- index->classlist[0],
- clauseinfo_list);
+ index,
+ index->indexkeys[0],
+ index->classlist[0],
+ clauseinfo_list);
/*
- * 2. If the keys of this index match any of the available restriction
- * clauses, then create pathnodes corresponding to each group of
- * usable clauses.
+ * 2. If the keys of this index match any of the available
+ * restriction clauses, then create pathnodes corresponding to
+ * each group of usable clauses.
*/
scanclausegroups = group_clauses_by_indexkey(rel,
index,
@@ -167,10 +160,10 @@ find_index_paths(Query *root,
/*
* 3. If this index can be used with any join clause, then create
- * pathnodes for each group of usable clauses. An index can be used
- * with a join clause if its ordering is useful for a mergejoin, or if
- * the index can possibly be used for scanning the inner relation of a
- * nestloop join.
+ * pathnodes for each group of usable clauses. An index can be
+ * used with a join clause if its ordering is useful for a
+ * mergejoin, or if the index can possibly be used for scanning
+ * the inner relation of a nestloop join.
*/
joinclausegroups = indexable_joinclauses(rel, index, joininfo_list, clauseinfo_list);
joinpaths = NIL;
@@ -179,7 +172,7 @@ find_index_paths(Query *root,
{
List *new_join_paths = create_index_paths(root, rel,
index,
- joinclausegroups,
+ joinclausegroups,
true);
List *innerjoin_paths = index_innerjoin(root, rel, joinclausegroups, index);
@@ -225,13 +218,13 @@ find_index_paths(Query *root,
*
*/
static void
-match_index_orclauses(RelOptInfo *rel,
- RelOptInfo *index,
+match_index_orclauses(RelOptInfo * rel,
+ RelOptInfo * index,
int indexkey,
int xclass,
List *clauseinfo_list)
{
- ClauseInfo *clauseinfo = (ClauseInfo *) NULL;
+ ClauseInfo *clauseinfo = (ClauseInfo *) NULL;
List *i = NIL;
foreach(i, clauseinfo_list)
@@ -262,10 +255,10 @@ match_index_orclauses(RelOptInfo *rel,
static bool
match_index_to_operand(int indexkey,
Expr *operand,
- RelOptInfo *rel,
- RelOptInfo *index)
+ RelOptInfo * rel,
+ RelOptInfo * index)
{
- bool result;
+ bool result;
/*
* Normal index.
@@ -305,8 +298,8 @@ match_index_to_operand(int indexkey,
* match the third, g,h match the fourth, etc.
*/
static List *
-match_index_orclause(RelOptInfo *rel,
- RelOptInfo *index,
+match_index_orclause(RelOptInfo * rel,
+ RelOptInfo * index,
int indexkey,
int xclass,
List *or_clauses,
@@ -323,30 +316,29 @@ match_index_orclause(RelOptInfo *rel,
foreach(clist, or_clauses)
matching_indices = lcons(NIL, matching_indices);
}
- else matching_indices = other_matching_indices;
+ else
+ matching_indices = other_matching_indices;
index_list = matching_indices;
foreach(clist, or_clauses)
{
clause = lfirst(clist);
-
+
if (is_opclause(clause) &&
op_class(((Oper *) ((Expr *) clause)->oper)->opno,
xclass, index->relam) &&
((match_index_to_operand(indexkey,
- (Expr *) get_leftop((Expr *) clause),
- rel,
- index) &&
+ (Expr *) get_leftop((Expr *) clause),
+ rel,
+ index) &&
IsA(get_rightop((Expr *) clause), Const)) ||
(match_index_to_operand(indexkey,
(Expr *) get_rightop((Expr *) clause),
- rel,
- index) &&
- IsA(get_leftop((Expr *) clause), Const))))
- {
+ rel,
+ index) &&
+ IsA(get_leftop((Expr *) clause), Const))))
lfirst(matching_indices) = lcons(index, lfirst(matching_indices));
- }
matching_indices = lnext(matching_indices);
}
@@ -396,14 +388,14 @@ match_index_orclause(RelOptInfo *rel,
*
*/
static List *
-group_clauses_by_indexkey(RelOptInfo *rel,
- RelOptInfo *index,
+group_clauses_by_indexkey(RelOptInfo * rel,
+ RelOptInfo * index,
int *indexkeys,
Oid *classes,
List *clauseinfo_list)
{
List *curCinfo = NIL;
- ClauseInfo *matched_clause = (ClauseInfo *) NULL;
+ ClauseInfo *matched_clause = (ClauseInfo *) NULL;
List *clausegroup = NIL;
int curIndxKey;
Oid curClass;
@@ -420,7 +412,7 @@ group_clauses_by_indexkey(RelOptInfo *rel,
foreach(curCinfo, clauseinfo_list)
{
- ClauseInfo *temp = (ClauseInfo *) lfirst(curCinfo);
+ ClauseInfo *temp = (ClauseInfo *) lfirst(curCinfo);
matched_clause = match_clause_to_indexkey(rel,
index,
@@ -458,15 +450,15 @@ group_clauses_by_indexkey(RelOptInfo *rel,
*
*/
static List *
-group_clauses_by_ikey_for_joins(RelOptInfo *rel,
- RelOptInfo *index,
+group_clauses_by_ikey_for_joins(RelOptInfo * rel,
+ RelOptInfo * index,
int *indexkeys,
Oid *classes,
List *join_cinfo_list,
List *restr_cinfo_list)
{
List *curCinfo = NIL;
- ClauseInfo *matched_clause = (ClauseInfo *) NULL;
+ ClauseInfo *matched_clause = (ClauseInfo *) NULL;
List *clausegroup = NIL;
int curIndxKey;
Oid curClass;
@@ -484,7 +476,7 @@ group_clauses_by_ikey_for_joins(RelOptInfo *rel,
foreach(curCinfo, join_cinfo_list)
{
- ClauseInfo *temp = (ClauseInfo *) lfirst(curCinfo);
+ ClauseInfo *temp = (ClauseInfo *) lfirst(curCinfo);
matched_clause = match_clause_to_indexkey(rel,
index,
@@ -500,7 +492,7 @@ group_clauses_by_ikey_for_joins(RelOptInfo *rel,
}
foreach(curCinfo, restr_cinfo_list)
{
- ClauseInfo *temp = (ClauseInfo *) lfirst(curCinfo);
+ ClauseInfo *temp = (ClauseInfo *) lfirst(curCinfo);
matched_clause = match_clause_to_indexkey(rel,
index,
@@ -580,11 +572,11 @@ group_clauses_by_ikey_for_joins(RelOptInfo *rel,
*
*/
static ClauseInfo *
-match_clause_to_indexkey(RelOptInfo *rel,
- RelOptInfo *index,
+match_clause_to_indexkey(RelOptInfo * rel,
+ RelOptInfo * index,
int indexkey,
int xclass,
- ClauseInfo *clauseInfo,
+ ClauseInfo * clauseInfo,
bool join)
{
Expr *clause = clauseInfo->clause;
@@ -607,6 +599,7 @@ match_clause_to_indexkey(RelOptInfo *rel,
*/
if (!join)
{
+
/*
* Check for standard s-argable clause
*/
@@ -622,24 +615,28 @@ match_clause_to_indexkey(RelOptInfo *rel,
index));
#ifndef IGNORE_BINARY_COMPATIBLE_INDICES
- /* Didn't find an index?
- * Then maybe we can find another binary-compatible index instead...
- * thomas 1998-08-14
+
+ /*
+ * Didn't find an index? Then maybe we can find another
+ * binary-compatible index instead... thomas 1998-08-14
*/
- if (! isIndexable)
+ if (!isIndexable)
{
- Oid ltype;
- Oid rtype;
+ Oid ltype;
+ Oid rtype;
- ltype = exprType((Node *)leftop);
- rtype = exprType((Node *)rightop);
+ ltype = exprType((Node *) leftop);
+ rtype = exprType((Node *) rightop);
- /* make sure we have two different binary-compatible types... */
+ /*
+ * make sure we have two different binary-compatible
+ * types...
+ */
if ((ltype != rtype)
- && IS_BINARY_COMPATIBLE(ltype, rtype))
+ && IS_BINARY_COMPATIBLE(ltype, rtype))
{
- char *opname;
- Operator newop;
+ char *opname;
+ Operator newop;
opname = get_opname(restrict_op);
if (opname != NULL)
@@ -660,9 +657,7 @@ match_clause_to_indexkey(RelOptInfo *rel,
index));
if (isIndexable)
- {
((Oper *) ((Expr *) clause)->oper)->opno = restrict_op;
- }
}
}
}
@@ -679,24 +674,24 @@ match_clause_to_indexkey(RelOptInfo *rel,
get_commutator(((Oper *) ((Expr *) clause)->oper)->opno);
isIndexable = ((restrict_op != InvalidOid) &&
- op_class(restrict_op, xclass, index->relam) &&
- IndexScanableOperand(rightop,
- indexkey, rel, index));
+ op_class(restrict_op, xclass, index->relam) &&
+ IndexScanableOperand(rightop,
+ indexkey, rel, index));
#ifndef IGNORE_BINARY_COMPATIBLE_INDICES
- if (! isIndexable)
+ if (!isIndexable)
{
- Oid ltype;
- Oid rtype;
+ Oid ltype;
+ Oid rtype;
- ltype = exprType((Node *)leftop);
- rtype = exprType((Node *)rightop);
+ ltype = exprType((Node *) leftop);
+ rtype = exprType((Node *) rightop);
if ((ltype != rtype)
- && IS_BINARY_COMPATIBLE(ltype, rtype))
+ && IS_BINARY_COMPATIBLE(ltype, rtype))
{
- char *opname;
- Operator newop;
+ char *opname;
+ Operator newop;
restrict_op = ((Oper *) ((Expr *) clause)->oper)->opno;
@@ -712,16 +707,14 @@ match_clause_to_indexkey(RelOptInfo *rel,
get_commutator(oprid(newop));
isIndexable = ((restrict_op != InvalidOid) &&
- op_class(restrict_op, xclass, index->relam) &&
- IndexScanableOperand(rightop,
- indexkey,
- rel,
- index));
+ op_class(restrict_op, xclass, index->relam) &&
+ IndexScanableOperand(rightop,
+ indexkey,
+ rel,
+ index));
if (isIndexable)
- {
((Oper *) ((Expr *) clause)->oper)->opno = oprid(newop);
- }
}
}
}
@@ -729,6 +722,7 @@ match_clause_to_indexkey(RelOptInfo *rel,
if (isIndexable)
{
+
/*
* In place list modification. (op const var/func) -> (op
* var/func const)
@@ -848,7 +842,7 @@ pred_test(List *predicate_list, List *clauseinfo_list, List *joininfo_list)
static bool
one_pred_test(Expr *predicate, List *clauseinfo_list)
{
- ClauseInfo *clauseinfo;
+ ClauseInfo *clauseinfo;
List *item;
Assert(predicate != NULL);
@@ -1152,7 +1146,7 @@ clause_pred_clause_test(Expr *predicate, Node *clause)
*/
test_oper = makeOper(test_op, /* opno */
InvalidOid, /* opid */
- BOOLOID, /* opresulttype */
+ BOOLOID, /* opresulttype */
0, /* opsize */
NULL); /* op_fcache */
replace_opid(test_oper);
@@ -1163,7 +1157,7 @@ clause_pred_clause_test(Expr *predicate, Node *clause)
#ifndef OMIT_PARTIAL_INDEX
test_result = ExecEvalExpr((Node *) test_expr, NULL, &isNull, NULL);
-#endif /* OMIT_PARTIAL_INDEX */
+#endif /* OMIT_PARTIAL_INDEX */
if (isNull)
{
elog(DEBUG, "clause_pred_clause_test: null test result");
@@ -1193,10 +1187,10 @@ clause_pred_clause_test(Expr *predicate, Node *clause)
*
*/
static List *
-indexable_joinclauses(RelOptInfo *rel, RelOptInfo *index,
+indexable_joinclauses(RelOptInfo * rel, RelOptInfo * index,
List *joininfo_list, List *clauseinfo_list)
{
- JoinInfo *joininfo = (JoinInfo *) NULL;
+ JoinInfo *joininfo = (JoinInfo *) NULL;
List *cg_list = NIL;
List *i = NIL;
List *clausegroups = NIL;
@@ -1245,7 +1239,7 @@ extract_restrict_clauses(List *clausegroup)
foreach(l, clausegroup)
{
- ClauseInfo *cinfo = lfirst(l);
+ ClauseInfo *cinfo = lfirst(l);
if (!is_joinable((Node *) cinfo->clause))
restrict_cls = lappend(restrict_cls, cinfo);
@@ -1267,8 +1261,8 @@ extract_restrict_clauses(List *clausegroup)
*
*/
static List *
-index_innerjoin(Query *root, RelOptInfo *rel, List *clausegroup_list,
- RelOptInfo *index)
+index_innerjoin(Query *root, RelOptInfo * rel, List *clausegroup_list,
+ RelOptInfo * index)
{
List *clausegroup = NIL;
List *cg_list = NIL;
@@ -1354,8 +1348,8 @@ index_innerjoin(Query *root, RelOptInfo *rel, List *clausegroup_list,
*/
static List *
create_index_paths(Query *root,
- RelOptInfo *rel,
- RelOptInfo *index,
+ RelOptInfo * rel,
+ RelOptInfo * index,
List *clausegroup_list,
bool join)
{
@@ -1367,7 +1361,7 @@ create_index_paths(Query *root,
foreach(i, clausegroup_list)
{
- ClauseInfo *clauseinfo;
+ ClauseInfo *clauseinfo;
List *temp_node = NIL;
bool temp = true;
@@ -1399,7 +1393,7 @@ add_index_paths(List *indexpaths, List *new_indexpaths)
}
static bool
-function_index_operand(Expr *funcOpnd, RelOptInfo *rel, RelOptInfo *index)
+function_index_operand(Expr *funcOpnd, RelOptInfo * rel, RelOptInfo * index)
{
Oid heapRelid = (Oid) lfirsti(rel->relids);
Func *function;
diff --git a/src/backend/optimizer/path/joinpath.c b/src/backend/optimizer/path/joinpath.c
index 7b05f9fddf..f8291f7e96 100644
--- a/src/backend/optimizer/path/joinpath.c
+++ b/src/backend/optimizer/path/joinpath.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinpath.c,v 1.9 1998/09/01 03:23:24 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinpath.c,v 1.10 1998/09/01 04:29:35 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -30,19 +30,15 @@
* _enable_mergejoin} */
static Path *best_innerjoin(List *join_paths, List *outer_relid);
-static List *
-sort_inner_and_outer(RelOptInfo *joinrel, RelOptInfo *outerrel, RelOptInfo *innerrel,
+static List *sort_inner_and_outer(RelOptInfo * joinrel, RelOptInfo * outerrel, RelOptInfo * innerrel,
List *mergeinfo_list);
-static List *
-match_unsorted_outer(RelOptInfo *joinrel, RelOptInfo *outerrel, RelOptInfo *innerrel,
+static List *match_unsorted_outer(RelOptInfo * joinrel, RelOptInfo * outerrel, RelOptInfo * innerrel,
List *outerpath_list, Path *cheapest_inner, Path *best_innerjoin,
List *mergeinfo_list);
-static List *
-match_unsorted_inner(RelOptInfo *joinrel, RelOptInfo *outerrel, RelOptInfo *innerrel,
+static List *match_unsorted_inner(RelOptInfo * joinrel, RelOptInfo * outerrel, RelOptInfo * innerrel,
List *innerpath_list, List *mergeinfo_list);
-static bool EnoughMemoryForHashjoin(RelOptInfo *hashrel);
-static List *
-hash_inner_and_outer(RelOptInfo *joinrel, RelOptInfo *outerrel, RelOptInfo *innerrel,
+static bool EnoughMemoryForHashjoin(RelOptInfo * hashrel);
+static List *hash_inner_and_outer(RelOptInfo * joinrel, RelOptInfo * outerrel, RelOptInfo * innerrel,
List *hashinfo_list);
/*
@@ -76,11 +72,11 @@ find_all_join_paths(Query *root, List *joinrels)
while (joinrels != NIL)
{
- RelOptInfo *joinrel = (RelOptInfo *) lfirst(joinrels);
+ RelOptInfo *joinrel = (RelOptInfo *) lfirst(joinrels);
List *innerrelids;
List *outerrelids;
- RelOptInfo *innerrel;
- RelOptInfo *outerrel;
+ RelOptInfo *innerrel;
+ RelOptInfo *outerrel;
Path *bestinnerjoin;
List *pathlist = NIL;
@@ -238,9 +234,9 @@ best_innerjoin(List *join_paths, List *outer_relids)
* Returns a list of mergejoin paths.
*/
static List *
-sort_inner_and_outer(RelOptInfo *joinrel,
- RelOptInfo *outerrel,
- RelOptInfo *innerrel,
+sort_inner_and_outer(RelOptInfo * joinrel,
+ RelOptInfo * outerrel,
+ RelOptInfo * innerrel,
List *mergeinfo_list)
{
List *ms_list = NIL;
@@ -316,9 +312,9 @@ sort_inner_and_outer(RelOptInfo *joinrel,
* Returns a list of possible join path nodes.
*/
static List *
-match_unsorted_outer(RelOptInfo *joinrel,
- RelOptInfo *outerrel,
- RelOptInfo *innerrel,
+match_unsorted_outer(RelOptInfo * joinrel,
+ RelOptInfo * outerrel,
+ RelOptInfo * innerrel,
List *outerpath_list,
Path *cheapest_inner,
Path *best_innerjoin,
@@ -469,9 +465,9 @@ match_unsorted_outer(RelOptInfo *joinrel,
* Returns a list of possible merge paths.
*/
static List *
-match_unsorted_inner(RelOptInfo *joinrel,
- RelOptInfo *outerrel,
- RelOptInfo *innerrel,
+match_unsorted_inner(RelOptInfo * joinrel,
+ RelOptInfo * outerrel,
+ RelOptInfo * innerrel,
List *innerpath_list,
List *mergeinfo_list)
{
@@ -565,7 +561,7 @@ match_unsorted_inner(RelOptInfo *joinrel,
}
static bool
-EnoughMemoryForHashjoin(RelOptInfo *hashrel)
+EnoughMemoryForHashjoin(RelOptInfo * hashrel)
{
int ntuples;
int tupsize;
@@ -599,9 +595,9 @@ EnoughMemoryForHashjoin(RelOptInfo *hashrel)
* Returns a list of hashjoin paths.
*/
static List *
-hash_inner_and_outer(RelOptInfo *joinrel,
- RelOptInfo *outerrel,
- RelOptInfo *innerrel,
+hash_inner_and_outer(RelOptInfo * joinrel,
+ RelOptInfo * outerrel,
+ RelOptInfo * innerrel,
List *hashinfo_list)
{
HInfo *xhashinfo = (HInfo *) NULL;
diff --git a/src/backend/optimizer/path/joinrels.c b/src/backend/optimizer/path/joinrels.c
index 2a0755010d..636207c941 100644
--- a/src/backend/optimizer/path/joinrels.c
+++ b/src/backend/optimizer/path/joinrels.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinrels.c,v 1.14 1998/09/01 03:23:25 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinrels.c,v 1.15 1998/09/01 04:29:37 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -31,19 +31,17 @@ bool _use_right_sided_plans_ = false;
#endif
-static List *find_clause_joins(Query *root, RelOptInfo *outer_rel, List *joininfo_list);
-static List *find_clauseless_joins(RelOptInfo *outer_rel, List *inner_rels);
-static RelOptInfo *init_join_rel(RelOptInfo *outer_rel, RelOptInfo *inner_rel, JoinInfo *joininfo);
-static List *
-new_join_tlist(List *tlist, List *other_relids,
+static List *find_clause_joins(Query *root, RelOptInfo * outer_rel, List *joininfo_list);
+static List *find_clauseless_joins(RelOptInfo * outer_rel, List *inner_rels);
+static RelOptInfo *init_join_rel(RelOptInfo * outer_rel, RelOptInfo * inner_rel, JoinInfo * joininfo);
+static List *new_join_tlist(List *tlist, List *other_relids,
int first_resdomno);
static List *new_joininfo_list(List *joininfo_list, List *join_relids);
-static void add_superrels(RelOptInfo *rel, RelOptInfo *super_rel);
-static bool nonoverlap_rels(RelOptInfo *rel1, RelOptInfo *rel2);
+static void add_superrels(RelOptInfo * rel, RelOptInfo * super_rel);
+static bool nonoverlap_rels(RelOptInfo * rel1, RelOptInfo * rel2);
static bool nonoverlap_sets(List *s1, List *s2);
-static void
-set_joinrel_size(RelOptInfo *joinrel, RelOptInfo *outer_rel, RelOptInfo *inner_rel,
- JoinInfo *jinfo);
+static void set_joinrel_size(RelOptInfo * joinrel, RelOptInfo * outer_rel, RelOptInfo * inner_rel,
+ JoinInfo * jinfo);
/*
* find-join-rels--
@@ -67,7 +65,7 @@ find_join_rels(Query *root, List *outer_rels)
foreach(r, outer_rels)
{
- RelOptInfo *outer_rel = (RelOptInfo *) lfirst(r);
+ RelOptInfo *outer_rel = (RelOptInfo *) lfirst(r);
if (!(joins = find_clause_joins(root, outer_rel, outer_rel->joininfo)))
{
@@ -99,15 +97,15 @@ find_join_rels(Query *root, List *outer_rels)
* Returns a list of new join relations.
*/
static List *
-find_clause_joins(Query *root, RelOptInfo *outer_rel, List *joininfo_list)
+find_clause_joins(Query *root, RelOptInfo * outer_rel, List *joininfo_list)
{
List *join_list = NIL;
List *i = NIL;
foreach(i, joininfo_list)
{
- JoinInfo *joininfo = (JoinInfo *) lfirst(i);
- RelOptInfo *rel;
+ JoinInfo *joininfo = (JoinInfo *) lfirst(i);
+ RelOptInfo *rel;
if (!joininfo->inactive)
{
@@ -158,9 +156,9 @@ find_clause_joins(Query *root, RelOptInfo *outer_rel, List *joininfo_list)
* Returns a list of new join relations.
*/
static List *
-find_clauseless_joins(RelOptInfo *outer_rel, List *inner_rels)
+find_clauseless_joins(RelOptInfo * outer_rel, List *inner_rels)
{
- RelOptInfo *inner_rel;
+ RelOptInfo *inner_rel;
List *t_list = NIL;
List *temp_node = NIL;
List *i = NIL;
@@ -193,9 +191,9 @@ find_clauseless_joins(RelOptInfo *outer_rel, List *inner_rels)
* Returns the new join relation node.
*/
static RelOptInfo *
-init_join_rel(RelOptInfo *outer_rel, RelOptInfo *inner_rel, JoinInfo *joininfo)
+init_join_rel(RelOptInfo * outer_rel, RelOptInfo * inner_rel, JoinInfo * joininfo)
{
- RelOptInfo *joinrel = makeNode(RelOptInfo);
+ RelOptInfo *joinrel = makeNode(RelOptInfo);
List *joinrel_joininfo_list = NIL;
List *new_outer_tlist;
List *new_inner_tlist;
@@ -327,13 +325,13 @@ new_joininfo_list(List *joininfo_list, List *join_relids)
{
List *current_joininfo_list = NIL;
List *new_otherrels = NIL;
- JoinInfo *other_joininfo = (JoinInfo *) NULL;
+ JoinInfo *other_joininfo = (JoinInfo *) NULL;
List *xjoininfo = NIL;
foreach(xjoininfo, joininfo_list)
{
List *or;
- JoinInfo *joininfo = (JoinInfo *) lfirst(xjoininfo);
+ JoinInfo *joininfo = (JoinInfo *) lfirst(xjoininfo);
new_otherrels = joininfo->otherrels;
foreach(or, new_otherrels)
@@ -396,23 +394,23 @@ add_new_joininfos(Query *root, List *joinrels, List *outerrels)
foreach(xjoinrel, joinrels)
{
- RelOptInfo *joinrel = (RelOptInfo *) lfirst(xjoinrel);
+ RelOptInfo *joinrel = (RelOptInfo *) lfirst(xjoinrel);
foreach(xrelid, joinrel->relids)
{
Relid relid = (Relid) lfirst(xrelid);
- RelOptInfo *rel = get_join_rel(root, relid);
+ RelOptInfo *rel = get_join_rel(root, relid);
add_superrels(rel, joinrel);
}
}
foreach(xjoinrel, joinrels)
{
- RelOptInfo *joinrel = (RelOptInfo *) lfirst(xjoinrel);
+ RelOptInfo *joinrel = (RelOptInfo *) lfirst(xjoinrel);
foreach(xjoininfo, joinrel->joininfo)
{
- JoinInfo *joininfo = (JoinInfo *) lfirst(xjoininfo);
+ JoinInfo *joininfo = (JoinInfo *) lfirst(xjoininfo);
List *other_rels = joininfo->otherrels;
List *clause_info = joininfo->jinfoclauseinfo;
bool mergejoinable = joininfo->mergejoinable;
@@ -421,10 +419,10 @@ add_new_joininfos(Query *root, List *joinrels, List *outerrels)
foreach(xrelid, other_rels)
{
Relid relid = (Relid) lfirst(xrelid);
- RelOptInfo *rel = get_join_rel(root, relid);
+ RelOptInfo *rel = get_join_rel(root, relid);
List *super_rels = rel->superrels;
List *xsuper_rel = NIL;
- JoinInfo *new_joininfo = makeNode(JoinInfo);
+ JoinInfo *new_joininfo = makeNode(JoinInfo);
new_joininfo->otherrels = joinrel->relids;
new_joininfo->jinfoclauseinfo = clause_info;
@@ -436,12 +434,12 @@ add_new_joininfos(Query *root, List *joinrels, List *outerrels)
foreach(xsuper_rel, super_rels)
{
- RelOptInfo *super_rel = (RelOptInfo *) lfirst(xsuper_rel);
+ RelOptInfo *super_rel = (RelOptInfo *) lfirst(xsuper_rel);
if (nonoverlap_rels(super_rel, joinrel))
{
List *new_relids = super_rel->relids;
- JoinInfo *other_joininfo =
+ JoinInfo *other_joininfo =
joininfo_member(new_relids,
joinrel->joininfo);
@@ -453,7 +451,7 @@ add_new_joininfos(Query *root, List *joinrels, List *outerrels)
}
else
{
- JoinInfo *new_joininfo = makeNode(JoinInfo);
+ JoinInfo *new_joininfo = makeNode(JoinInfo);
new_joininfo->otherrels = new_relids;
new_joininfo->jinfoclauseinfo = clause_info;
@@ -471,7 +469,7 @@ add_new_joininfos(Query *root, List *joinrels, List *outerrels)
}
foreach(xrel, outerrels)
{
- RelOptInfo *rel = (RelOptInfo *) lfirst(xrel);
+ RelOptInfo *rel = (RelOptInfo *) lfirst(xrel);
rel->superrels = NIL;
}
@@ -499,13 +497,13 @@ final_join_rels(List *join_rel_list)
*/
foreach(xrel, join_rel_list)
{
- RelOptInfo *rel = (RelOptInfo *) lfirst(xrel);
+ RelOptInfo *rel = (RelOptInfo *) lfirst(xrel);
List *xjoininfo = NIL;
bool final = true;
foreach(xjoininfo, rel->joininfo)
{
- JoinInfo *joininfo = (JoinInfo *) lfirst(xjoininfo);
+ JoinInfo *joininfo = (JoinInfo *) lfirst(xjoininfo);
if (joininfo->otherrels != NIL)
{
@@ -533,7 +531,7 @@ final_join_rels(List *join_rel_list)
* Modifies the superrels field of rel
*/
static void
-add_superrels(RelOptInfo *rel, RelOptInfo *super_rel)
+add_superrels(RelOptInfo * rel, RelOptInfo * super_rel)
{
rel->superrels = lappend(rel->superrels, super_rel);
}
@@ -548,7 +546,7 @@ add_superrels(RelOptInfo *rel, RelOptInfo *super_rel)
* Returns non-nil if rel1 and rel2 do not overlap.
*/
static bool
-nonoverlap_rels(RelOptInfo *rel1, RelOptInfo *rel2)
+nonoverlap_rels(RelOptInfo * rel1, RelOptInfo * rel2)
{
return nonoverlap_sets(rel1->relids, rel2->relids);
}
@@ -569,7 +567,7 @@ nonoverlap_sets(List *s1, List *s2)
}
static void
-set_joinrel_size(RelOptInfo *joinrel, RelOptInfo *outer_rel, RelOptInfo *inner_rel, JoinInfo *jinfo)
+set_joinrel_size(RelOptInfo * joinrel, RelOptInfo * outer_rel, RelOptInfo * inner_rel, JoinInfo * jinfo)
{
int ntuples;
float selec;
diff --git a/src/backend/optimizer/path/joinutils.c b/src/backend/optimizer/path/joinutils.c
index f39a783547..3b0bce8394 100644
--- a/src/backend/optimizer/path/joinutils.c
+++ b/src/backend/optimizer/path/joinutils.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/joinutils.c,v 1.7 1998/09/01 03:23:27 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/joinutils.c,v 1.8 1998/09/01 04:29:38 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -26,18 +26,14 @@
#include "optimizer/ordering.h"
-static int
-match_pathkey_joinkeys(List *pathkey, List *joinkeys,
+static int match_pathkey_joinkeys(List *pathkey, List *joinkeys,
int which_subkey);
-static bool
-every_func(List *joinkeys, List *pathkey,
+static bool every_func(List *joinkeys, List *pathkey,
int which_subkey);
-static List *
-new_join_pathkey(List *subkeys,
+static List *new_join_pathkey(List *subkeys,
List *considered_subkeys, List *join_rel_tlist,
List *joinclauses);
-static List *
-new_matching_subkeys(Var *subkey, List *considered_subkeys,
+static List *new_matching_subkeys(Var *subkey, List *considered_subkeys,
List *join_rel_tlist, List *joinclauses);
/****************************************************************************
@@ -146,7 +142,7 @@ match_pathkey_joinkeys(List *pathkey,
pos++;
}
}
- return -1; /* no index found */
+ return -1; /* no index found */
}
/*
diff --git a/src/backend/optimizer/path/mergeutils.c b/src/backend/optimizer/path/mergeutils.c
index 8bf4bb73c2..2d1d021511 100644
--- a/src/backend/optimizer/path/mergeutils.c
+++ b/src/backend/optimizer/path/mergeutils.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/mergeutils.c,v 1.8 1998/09/01 03:23:28 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/mergeutils.c,v 1.9 1998/09/01 04:29:40 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -42,7 +42,7 @@ group_clauses_by_order(List *clauseinfo_list,
foreach(xclauseinfo, clauseinfo_list)
{
- ClauseInfo *clauseinfo = (ClauseInfo *) lfirst(xclauseinfo);
+ ClauseInfo *clauseinfo = (ClauseInfo *) lfirst(xclauseinfo);
MergeOrder *merge_ordering = clauseinfo->mergejoinorder;
if (merge_ordering)
diff --git a/src/backend/optimizer/path/orindxpath.c b/src/backend/optimizer/path/orindxpath.c
index c56d6200f8..3f8d6b15da 100644
--- a/src/backend/optimizer/path/orindxpath.c
+++ b/src/backend/optimizer/path/orindxpath.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/orindxpath.c,v 1.10 1998/09/01 03:23:29 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/orindxpath.c,v 1.11 1998/09/01 04:29:41 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -32,11 +32,10 @@
static void
-best_or_subclause_indices(Query *root, RelOptInfo *rel, List *subclauses,
+best_or_subclause_indices(Query *root, RelOptInfo * rel, List *subclauses,
List *indices, List *examined_indexids, Cost subcost, List *selectivities,
List **indexids, Cost *cost, List **selecs);
-static void
-best_or_subclause_index(Query *root, RelOptInfo *rel, Expr *subclause,
+static void best_or_subclause_index(Query *root, RelOptInfo * rel, Expr *subclause,
List *indices, int *indexid, Cost *cost, Cost *selec);
@@ -52,14 +51,14 @@ best_or_subclause_index(Query *root, RelOptInfo *rel, Expr *subclause,
*/
List *
create_or_index_paths(Query *root,
- RelOptInfo *rel, List *clauses)
+ RelOptInfo * rel, List *clauses)
{
List *t_list = NIL;
List *clist;
foreach(clist, clauses)
{
- ClauseInfo *clausenode = (ClauseInfo *) (lfirst(clist));
+ ClauseInfo *clausenode = (ClauseInfo *) (lfirst(clist));
/*
* Check to see if this clause is an 'or' clause, and, if so,
@@ -114,8 +113,8 @@ create_or_index_paths(Query *root,
* processing -- JMH, 7/7/92
*/
pathnode->path.locclauseinfo =
- set_difference(copyObject((Node *)rel->clauseinfo),
- lcons(clausenode,NIL));
+ set_difference(copyObject((Node *) rel->clauseinfo),
+ lcons(clausenode, NIL));
#if 0 /* fix xfunc */
/* add in cost for expensive functions! -- JMH, 7/7/92 */
@@ -156,7 +155,7 @@ create_or_index_paths(Query *root,
*/
static void
best_or_subclause_indices(Query *root,
- RelOptInfo *rel,
+ RelOptInfo * rel,
List *subclauses,
List *indices,
List *examined_indexids,
@@ -166,9 +165,9 @@ best_or_subclause_indices(Query *root,
Cost *cost, /* return value */
List **selecs) /* return value */
{
- List *slist;
-
- foreach (slist, subclauses)
+ List *slist;
+
+ foreach(slist, subclauses)
{
int best_indexid;
Cost best_cost;
@@ -176,7 +175,7 @@ best_or_subclause_indices(Query *root,
best_or_subclause_index(root, rel, lfirst(slist), lfirst(indices),
&best_indexid, &best_cost, &best_selec);
-
+
examined_indexids = lappendi(examined_indexids, best_indexid);
subcost += best_cost;
selectivities = lappend(selectivities, makeFloat(best_selec));
@@ -207,25 +206,25 @@ best_or_subclause_indices(Query *root,
*/
static void
best_or_subclause_index(Query *root,
- RelOptInfo *rel,
+ RelOptInfo * rel,
Expr *subclause,
List *indices,
int *retIndexid, /* return value */
Cost *retCost, /* return value */
Cost *retSelec) /* return value */
{
- List *ilist;
- bool first_run = true;
+ List *ilist;
+ bool first_run = true;
/* if we don't match anything, return zeros */
*retIndexid = 0;
*retCost = 0.0;
*retSelec = 0.0;
-
- foreach (ilist, indices)
+
+ foreach(ilist, indices)
{
- RelOptInfo *index = (RelOptInfo *) lfirst(ilist);
-
+ RelOptInfo *index = (RelOptInfo *) lfirst(ilist);
+
Datum value;
int flag = 0;
Cost subcost;
diff --git a/src/backend/optimizer/path/predmig.c b/src/backend/optimizer/path/predmig.c
index 07615c031d..b1ff33cee6 100644
--- a/src/backend/optimizer/path/predmig.c
+++ b/src/backend/optimizer/path/predmig.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/predmig.c,v 1.12 1998/09/01 03:23:30 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/predmig.c,v 1.13 1998/09/01 04:29:42 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -53,21 +53,18 @@
* (not a join) iff it has
* a non-NULL cinfo field */
-static void
-xfunc_predmig(JoinPath pathnode, Stream streamroot,
+static void xfunc_predmig(JoinPath pathnode, Stream streamroot,
Stream laststream, bool *progressp);
static bool xfunc_series_llel(Stream stream);
static bool xfunc_llel_chains(Stream root, Stream bottom);
static Stream xfunc_complete_stream(Stream stream);
-static bool
-xfunc_prdmig_pullup(Stream origstream, Stream pullme,
+static bool xfunc_prdmig_pullup(Stream origstream, Stream pullme,
JoinPath joinpath);
static void xfunc_form_groups(Stream root, Stream bottom);
static void xfunc_free_stream(Stream root);
static Stream xfunc_add_clauses(Stream current);
static void xfunc_setup_group(Stream node, Stream bottom);
-static Stream
-xfunc_streaminsert(ClauseInfo clauseinfo, Stream current,
+static Stream xfunc_streaminsert(ClauseInfo clauseinfo, Stream current,
int clausetype);
static int xfunc_num_relids(Stream node);
static StreamPtr xfunc_get_downjoin(Stream node);
@@ -77,7 +74,7 @@ static int xfunc_stream_compare(void *arg1, void *arg2);
static bool xfunc_check_stream(Stream node);
static bool xfunc_in_stream(Stream node, Stream stream);
-/* ----------------- MAIN FUNCTIONS ------------------------ */
+/* ----------------- MAIN FUNCTIONS ------------------------ */
/*
** xfunc_do_predmig
** wrapper for Predicate Migration. It calls xfunc_predmig until no
@@ -318,7 +315,7 @@ xfunc_complete_stream(Stream stream)
static bool
xfunc_prdmig_pullup(Stream origstream, Stream pullme, JoinPath joinpath)
{
- ClauseInfo clauseinfo = get_cinfo(pullme);
+ ClauseInfo clauseinfo = get_cinfo(pullme);
bool progress = false;
Stream upjoin,
orignode,
@@ -492,7 +489,7 @@ xfunc_form_groups(Query *queryInfo, Stream root, Stream bottom)
}
-/* ------------------- UTILITY FUNCTIONS ------------------------- */
+/* ------------------- UTILITY FUNCTIONS ------------------------- */
/*
** xfunc_free_stream --
diff --git a/src/backend/optimizer/path/prune.c b/src/backend/optimizer/path/prune.c
index 18228cbd89..908687e6d8 100644
--- a/src/backend/optimizer/path/prune.c
+++ b/src/backend/optimizer/path/prune.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/prune.c,v 1.16 1998/09/01 03:23:32 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/prune.c,v 1.17 1998/09/01 04:29:44 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -24,7 +24,7 @@
#include "utils/elog.h"
-static List *prune_joinrel(RelOptInfo *rel, List *other_rels);
+static List *prune_joinrel(RelOptInfo * rel, List *other_rels);
/*
* prune-joinrels--
@@ -59,15 +59,15 @@ prune_joinrels(List *rel_list)
*
*/
static List *
-prune_joinrel(RelOptInfo *rel, List *other_rels)
+prune_joinrel(RelOptInfo * rel, List *other_rels)
{
List *i = NIL;
List *result = NIL;
foreach(i, other_rels)
{
- RelOptInfo *other_rel = (RelOptInfo *) lfirst(i);
-
+ RelOptInfo *other_rel = (RelOptInfo *) lfirst(i);
+
if (same(rel->relids, other_rel->relids))
{
rel->pathlist = add_pathlist(rel,
@@ -96,7 +96,7 @@ prune_rel_paths(List *rel_list)
List *x = NIL;
List *y = NIL;
Path *path = NULL;
- RelOptInfo *rel = (RelOptInfo *) NULL;
+ RelOptInfo *rel = (RelOptInfo *) NULL;
JoinPath *cheapest = (JoinPath *) NULL;
foreach(x, rel_list)
@@ -130,7 +130,7 @@ prune_rel_paths(List *rel_list)
*
*/
Path *
-prune_rel_path(RelOptInfo *rel, Path *unorderedpath)
+prune_rel_path(RelOptInfo * rel, Path *unorderedpath)
{
Path *cheapest = set_cheapest(rel, rel->pathlist);
@@ -165,7 +165,7 @@ merge_joinrels(List *rel_list1, List *rel_list2)
foreach(xrel, rel_list1)
{
- RelOptInfo *rel = (RelOptInfo *) lfirst(xrel);
+ RelOptInfo *rel = (RelOptInfo *) lfirst(xrel);
rel_list2 = prune_joinrel(rel, rel_list2);
}
@@ -187,7 +187,7 @@ merge_joinrels(List *rel_list1, List *rel_list2)
List *
prune_oldrels(List *old_rels)
{
- RelOptInfo *rel;
+ RelOptInfo *rel;
List *joininfo_list,
*xjoininfo,
*i,
@@ -204,7 +204,7 @@ prune_oldrels(List *old_rels)
{
foreach(xjoininfo, joininfo_list)
{
- JoinInfo *joininfo = (JoinInfo *) lfirst(xjoininfo);
+ JoinInfo *joininfo = (JoinInfo *) lfirst(xjoininfo);
if (!joininfo->inactive)
{
diff --git a/src/backend/optimizer/path/xfunc.c b/src/backend/optimizer/path/xfunc.c
index b5eb9f2bdd..f32b77cdc2 100644
--- a/src/backend/optimizer/path/xfunc.c
+++ b/src/backend/optimizer/path/xfunc.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/xfunc.c,v 1.21 1998/09/01 03:23:33 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/xfunc.c,v 1.22 1998/09/01 04:29:45 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -43,8 +43,7 @@
#define ever ; 1 ;
/* local funcs */
-static int
-xfunc_card_unreferenced(Query *queryInfo,
+static int xfunc_card_unreferenced(Query *queryInfo,
Expr *clause, Relid referenced);
*/
@@ -60,8 +59,8 @@ void
xfunc_trypullup(RelOptInfo rel)
{
LispValue y; /* list ptr */
- ClauseInfo maxcinfo; /* The ClauseInfo to pull up, as calculated by
- * xfunc_shouldpull() */
+ ClauseInfo maxcinfo; /* The ClauseInfo to pull up, as
+ * calculated by xfunc_shouldpull() */
JoinPath curpath; /* current path in list */
int progress; /* has progress been made this time
* through? */
@@ -147,12 +146,12 @@ xfunc_shouldpull(Query *queryInfo,
Path childpath,
JoinPath parentpath,
int whichchild,
- ClauseInfo *maxcinfopt) /* Out: pointer to clause to
- * pullup */
+ ClauseInfo * maxcinfopt) /* Out: pointer to clause
+ * to pullup */
{
LispValue clauselist,
tmplist; /* lists of clauses */
- ClauseInfo maxcinfo; /* clause to pullup */
+ ClauseInfo maxcinfo; /* clause to pullup */
LispValue primjoinclause /* primary join clause */
= xfunc_primary_join(parentpath);
Cost tmprank,
@@ -194,7 +193,7 @@ xfunc_shouldpull(Query *queryInfo,
{
if (tmplist != LispNil &&
- (tmprank = xfunc_rank(get_clause((ClauseInfo) lfirst(tmplist))))
+ (tmprank = xfunc_rank(get_clause((ClauseInfo) lfirst(tmplist))))
> maxrank)
{
maxcinfo = (ClauseInfo) lfirst(tmplist);
@@ -267,15 +266,15 @@ ClauseInfo
xfunc_pullup(Query *queryInfo,
Path childpath,
JoinPath parentpath,
- ClauseInfo cinfo, /* clause to pull up */
+ ClauseInfo cinfo, /* clause to pull up */
int whichchild, /* whether child is INNER or OUTER of join */
int clausetype) /* whether clause to pull is join or local */
{
Path newkid;
- RelOptInfo newrel;
+ RelOptInfo newrel;
Cost pulled_selec;
Cost cost;
- ClauseInfo newinfo;
+ ClauseInfo newinfo;
/* remove clause from childpath */
newkid = (Path) copyObject((Node) childpath);
@@ -294,8 +293,8 @@ xfunc_pullup(Query *queryInfo,
}
/*
- * * give the new child path its own RelOptInfo node that reflects the * lack
- * of the pulled-up predicate
+ * * give the new child path its own RelOptInfo node that reflects the *
+ * lack of the pulled-up predicate
*/
pulled_selec = compute_clause_selec(queryInfo,
get_clause(cinfo), LispNil);
@@ -497,8 +496,8 @@ xfunc_func_expense(LispValue node, LispValue args)
/* look up tuple in cache */
tupl = SearchSysCacheTuple(PROOID,
- ObjectIdGetDatum(funcid),
- 0, 0, 0);
+ ObjectIdGetDatum(funcid),
+ 0, 0, 0);
if (!HeapTupleIsValid(tupl))
elog(ERROR, "Cache lookup failed for procedure %d", funcid);
proc = (Form_pg_proc) GETSTRUCT(tupl);
@@ -528,7 +527,7 @@ xfunc_func_expense(LispValue node, LispValue args)
if (nargs > 0)
argOidVect = proc->proargtypes;
planlist = (List) pg_parse_and_plan(pq_src, argOidVect, nargs,
- &parseTree_list, None, FALSE);
+ &parseTree_list, None, FALSE);
if (IsA(node, Func))
set_func_planlist((Func) node, planlist);
@@ -612,7 +611,7 @@ xfunc_width(LispValue clause)
{
/* base case: width is width of this attribute */
tupl = SearchSysCacheTuple(TYPOID,
- ObjectIdGetDatum(get_vartype((Var) clause)),
+ ObjectIdGetDatum(get_vartype((Var) clause)),
0, 0, 0);
if (!HeapTupleIsValid(tupl))
elog(ERROR, "Cache lookup failed for type %d",
@@ -682,8 +681,8 @@ xfunc_width(LispValue clause)
elog(ERROR, "Cache lookup failed for procedure %d",
get_opno((Oper) get_op(clause)));
return (xfunc_func_width
- ((RegProcedure) (((Form_pg_operator) (GETSTRUCT(tupl)))->oprcode),
- (LispValue) get_opargs(clause)));
+ ((RegProcedure) (((Form_pg_operator) (GETSTRUCT(tupl)))->oprcode),
+ (LispValue) get_opargs(clause)));
}
else if (fast_is_funcclause(clause))
{
@@ -740,7 +739,7 @@ xfunc_card_unreferenced(Query *queryInfo,
{
Assert(lnext(get_relids((RelOptInfo) lfirst(temp))) == LispNil);
allrelids = lappend(allrelids,
- lfirst(get_relids((RelOptInfo) lfirst(temp))));
+ lfirst(get_relids((RelOptInfo) lfirst(temp))));
}
/* find all relids referenced in query but not in clause */
@@ -760,7 +759,7 @@ xfunc_card_product(Query *queryInfo, Relid relids)
{
LispValue cinfonode;
LispValue temp;
- RelOptInfo currel;
+ RelOptInfo currel;
Cost tuples;
Count retval = 0;
@@ -777,7 +776,7 @@ xfunc_card_product(Query *queryInfo, Relid relids)
if (!xfunc_expense(queryInfo, get_clause((ClauseInfo) lfirst(cinfonode))))
tuples *=
compute_clause_selec(queryInfo,
- get_clause((ClauseInfo) lfirst(cinfonode)),
+ get_clause((ClauseInfo) lfirst(cinfonode)),
LispNil);
}
@@ -863,7 +862,7 @@ LispValue
xfunc_primary_join(JoinPath pathnode)
{
LispValue joinclauselist = get_pathclauseinfo(pathnode);
- ClauseInfo mincinfo;
+ ClauseInfo mincinfo;
LispValue tmplist;
LispValue minclause = LispNil;
Cost minrank,
@@ -945,7 +944,7 @@ xfunc_get_path_cost(Query *queryInfo, Path pathnode)
cost += (Cost) (xfunc_local_expense(get_clause((ClauseInfo) lfirst(tmplist)))
* (Cost) get_tuples(get_parent(pathnode)) * selec);
selec *= compute_clause_selec(queryInfo,
- get_clause((ClauseInfo) lfirst(tmplist)),
+ get_clause((ClauseInfo) lfirst(tmplist)),
LispNil);
}
@@ -966,7 +965,7 @@ xfunc_get_path_cost(Query *queryInfo, Path pathnode)
cost += (Cost) (xfunc_local_expense(get_clause((ClauseInfo) lfirst(tmplist)))
* (Cost) get_tuples(get_parent(pathnode)) * selec);
selec *= compute_clause_selec(queryInfo,
- get_clause((ClauseInfo) lfirst(tmplist)),
+ get_clause((ClauseInfo) lfirst(tmplist)),
LispNil);
}
}
@@ -1097,8 +1096,8 @@ xfunc_total_path_cost(JoinPath pathnode)
Cost
xfunc_expense_per_tuple(JoinPath joinnode, int whichchild)
{
- RelOptInfo outerrel = get_parent((Path) get_outerjoinpath(joinnode));
- RelOptInfo innerrel = get_parent((Path) get_innerjoinpath(joinnode));
+ RelOptInfo outerrel = get_parent((Path) get_outerjoinpath(joinnode));
+ RelOptInfo innerrel = get_parent((Path) get_innerjoinpath(joinnode));
Count outerwidth = get_width(outerrel);
Count outers_per_page = ceil(BLCKSZ / (outerwidth + sizeof(HeapTupleData)));
@@ -1139,7 +1138,7 @@ xfunc_expense_per_tuple(JoinPath joinnode, int whichchild)
*/
void
xfunc_fixvars(LispValue clause, /* clause being pulled up */
- RelOptInfo rel, /* rel it's being pulled from */
+ RelOptInfo rel, /* rel it's being pulled from */
int varno) /* whether rel is INNER or OUTER of join */
{
LispValue tmpclause; /* temporary variable */
@@ -1195,8 +1194,8 @@ xfunc_fixvars(LispValue clause, /* clause being pulled up */
int
xfunc_cinfo_compare(void *arg1, void *arg2)
{
- ClauseInfo info1 = *(ClauseInfo *) arg1;
- ClauseInfo info2 = *(ClauseInfo *) arg2;
+ ClauseInfo info1 = *(ClauseInfo *) arg1;
+ ClauseInfo info2 = *(ClauseInfo *) arg2;
LispValue clause1 = (LispValue) get_clause(info1),
clause2 = (LispValue) get_clause(info2);
@@ -1310,8 +1309,8 @@ xfunc_func_width(RegProcedure funcid, LispValue args)
/* lookup function and find its return type */
Assert(RegProcedureIsValid(funcid));
tupl = SearchSysCacheTuple(PROOID,
- ObjectIdGetDatum(funcid),
- 0, 0, 0);
+ ObjectIdGetDatum(funcid),
+ 0, 0, 0);
if (!HeapTupleIsValid(tupl))
elog(ERROR, "Cache lookup failed for procedure %d", funcid);
proc = (Form_pg_proc) GETSTRUCT(tupl);
@@ -1430,9 +1429,9 @@ do { \
** Just like _copyRel, but doesn't copy the paths
*/
bool
-xfunc_copyrel(RelOptInfo from, RelOptInfo *to)
+xfunc_copyrel(RelOptInfo from, RelOptInfo * to)
{
- RelOptInfo newnode;
+ RelOptInfo newnode;
Pointer (*alloc) () = palloc;
diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c
index 5011d0b248..8eba20fd68 100644
--- a/src/backend/optimizer/plan/createplan.c
+++ b/src/backend/optimizer/plan/createplan.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/createplan.c,v 1.31 1998/09/01 03:23:35 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/createplan.c,v 1.32 1998/09/01 04:29:47 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -46,44 +46,33 @@
static List *switch_outer(List *clauses);
static Scan *create_scan_node(Path *best_path, List *tlist);
static Join *create_join_node(JoinPath *best_path, List *tlist);
-static SeqScan *
-create_seqscan_node(Path *best_path, List *tlist,
+static SeqScan *create_seqscan_node(Path *best_path, List *tlist,
List *scan_clauses);
-static IndexScan *
-create_indexscan_node(IndexPath *best_path, List *tlist,
+static IndexScan *create_indexscan_node(IndexPath *best_path, List *tlist,
List *scan_clauses);
-static NestLoop *
-create_nestloop_node(JoinPath *best_path, List *tlist,
+static NestLoop *create_nestloop_node(JoinPath *best_path, List *tlist,
List *clauses, Plan *outer_node, List *outer_tlist,
Plan *inner_node, List *inner_tlist);
-static MergeJoin *
-create_mergejoin_node(MergePath *best_path, List *tlist,
+static MergeJoin *create_mergejoin_node(MergePath *best_path, List *tlist,
List *clauses, Plan *outer_node, List *outer_tlist,
Plan *inner_node, List *inner_tlist);
-static HashJoin *
-create_hashjoin_node(HashPath *best_path, List *tlist,
+static HashJoin *create_hashjoin_node(HashPath *best_path, List *tlist,
List *clauses, Plan *outer_node, List *outer_tlist,
Plan *inner_node, List *inner_tlist);
static Node *fix_indxqual_references(Node *clause, Path *index_path);
-static Temp *
-make_temp(List *tlist, List *keys, Oid *operators,
+static Temp *make_temp(List *tlist, List *keys, Oid *operators,
Plan *plan_node, int temptype);
-static IndexScan *
-make_indexscan(List *qptlist, List *qpqual, Index scanrelid,
+static IndexScan *make_indexscan(List *qptlist, List *qpqual, Index scanrelid,
List *indxid, List *indxqual, Cost cost);
-static NestLoop *
-make_nestloop(List *qptlist, List *qpqual, Plan *lefttree,
+static NestLoop *make_nestloop(List *qptlist, List *qpqual, Plan *lefttree,
Plan *righttree);
-static HashJoin *
-make_hashjoin(List *tlist, List *qpqual,
+static HashJoin *make_hashjoin(List *tlist, List *qpqual,
List *hashclauses, Plan *lefttree, Plan *righttree);
static Hash *make_hash(List *tlist, Var *hashkey, Plan *lefttree);
-static MergeJoin *
-make_mergejoin(List *tlist, List *qpqual,
+static MergeJoin *make_mergejoin(List *tlist, List *qpqual,
List *mergeclauses, Oid opcode, Oid *rightorder,
Oid *leftorder, Plan *righttree, Plan *lefttree);
-static Material *
-make_material(List *tlist, Oid tempid, Plan *lefttree,
+static Material *make_material(List *tlist, Oid tempid, Plan *lefttree,
int keycount);
/*
@@ -106,7 +95,7 @@ create_plan(Path *best_path)
{
List *tlist;
Plan *plan_node = (Plan *) NULL;
- RelOptInfo *parent_rel;
+ RelOptInfo *parent_rel;
int size;
int width;
int pages;
diff --git a/src/backend/optimizer/plan/initsplan.c b/src/backend/optimizer/plan/initsplan.c
index 22cfeaf755..85253b5c58 100644
--- a/src/backend/optimizer/plan/initsplan.c
+++ b/src/backend/optimizer/plan/initsplan.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/initsplan.c,v 1.19 1998/09/01 03:23:36 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/initsplan.c,v 1.20 1998/09/01 04:29:50 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -40,8 +40,8 @@
extern int Quiet;
static void add_clause_to_rels(Query *root, List *clause);
-static void add_join_info_to_rels(Query *root, ClauseInfo *clauseinfo,
- List *join_relids);
+static void add_join_info_to_rels(Query *root, ClauseInfo * clauseinfo,
+ List *join_relids);
static void add_vars_to_targetlist(Query *root, List *vars, List *join_relids);
static MergeOrder *mergejoinop(Expr *clause);
@@ -170,7 +170,7 @@ add_clause_to_rels(Query *root, List *clause)
{
List *relids;
List *vars;
- ClauseInfo *clauseinfo = makeNode(ClauseInfo);
+ ClauseInfo *clauseinfo = makeNode(ClauseInfo);
/*
* Retrieve all relids and vars contained within the clause.
@@ -199,6 +199,7 @@ add_clause_to_rels(Query *root, List *clause)
*/
if (is_funcclause((Node *) clause))
{
+
/*
* XXX If we have a func clause set selectivity to 1/3, really
* need a true selectivity function.
@@ -222,6 +223,7 @@ add_clause_to_rels(Query *root, List *clause)
if (is_funcclause((Node *) clause))
{
+
/*
* XXX If we have a func clause set selectivity to 1/3, really
* need a true selectivity function.
@@ -252,13 +254,13 @@ add_clause_to_rels(Query *root, List *clause)
*
*/
static void
-add_join_info_to_rels(Query *root, ClauseInfo *clauseinfo, List *join_relids)
+add_join_info_to_rels(Query *root, ClauseInfo * clauseinfo, List *join_relids)
{
List *join_relid;
foreach(join_relid, join_relids)
{
- JoinInfo *joininfo;
+ JoinInfo *joininfo;
List *other_rels = NIL;
List *rel;
@@ -269,7 +271,7 @@ add_join_info_to_rels(Query *root, ClauseInfo *clauseinfo, List *join_relids)
}
joininfo = find_joininfo_node(get_base_rel(root, lfirsti(join_relid)),
- other_rels);
+ other_rels);
joininfo->jinfoclauseinfo =
lcons(copyObject((void *) clauseinfo), joininfo->jinfoclauseinfo);
@@ -332,8 +334,8 @@ init_join_info(List *rel_list)
*y,
*z;
RelOptInfo *rel;
- JoinInfo *joininfo;
- ClauseInfo *clauseinfo;
+ JoinInfo *joininfo;
+ ClauseInfo *clauseinfo;
Expr *clause;
foreach(x, rel_list)
diff --git a/src/backend/optimizer/plan/planmain.c b/src/backend/optimizer/plan/planmain.c
index a3e97063a7..0cef5472f2 100644
--- a/src/backend/optimizer/plan/planmain.c
+++ b/src/backend/optimizer/plan/planmain.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planmain.c,v 1.27 1998/09/01 03:23:38 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planmain.c,v 1.28 1998/09/01 04:29:51 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -44,8 +44,7 @@
static Plan *subplanner(Query *root, List *flat_tlist, List *qual);
static Result *make_result(List *tlist, Node *resconstantqual, Plan *subplan);
-extern Plan *
-make_groupPlan(List **tlist, bool tuplePerGroup,
+extern Plan *make_groupPlan(List **tlist, bool tuplePerGroup,
List *groupClause, Plan *subplan);
/*
@@ -90,7 +89,7 @@ query_planner(Query *root,
printf("After cnfify()\n");
pprint(qual);
#endif
-
+
/*
* A command without a target list or qualification is an error,
* except for "delete foo".
@@ -191,8 +190,8 @@ query_planner(Query *root,
if (constant_qual)
{
subplan = (Plan *) make_result((!root->hasAggs &&
- !root->groupClause &&
- !root->havingQual)
+ !root->groupClause &&
+ !root->havingQual)
? tlist : subplan->targetlist,
(Node *) constant_qual,
subplan);
@@ -255,13 +254,13 @@ subplanner(Query *root,
List *flat_tlist,
List *qual)
{
- RelOptInfo *final_rel;
- List *final_rel_list;
+ RelOptInfo *final_rel;
+ List *final_rel_list;
/*
* Initialize the targetlist and qualification, adding entries to
- * base_rel_list as relation references are found (e.g., in
- * the qualification, the targetlist, etc.)
+ * base_rel_list as relation references are found (e.g., in the
+ * qualification, the targetlist, etc.)
*/
root->base_rel_list = NIL;
root->join_rel_list = NIL;
diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c
index 703e067e4c..7d4091c4aa 100644
--- a/src/backend/optimizer/plan/planner.c
+++ b/src/backend/optimizer/plan/planner.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.31 1998/09/01 03:23:39 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.32 1998/09/01 04:29:53 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -49,8 +49,7 @@
#include "executor/executor.h"
static Plan *make_sortplan(List *tlist, List *sortcls, Plan *plannode);
-extern Plan *
-make_groupPlan(List **tlist, bool tuplePerGroup,
+extern Plan *make_groupPlan(List **tlist, bool tuplePerGroup,
List *groupClause, Plan *subplan);
/*****************************************************************************
@@ -96,10 +95,12 @@ union_planner(Query *parse)
{
List *tlist = parse->targetList;
- /* copy the original tlist, we will need the original one
- * for the AGG node later on */
- List *new_tlist = new_unsorted_tlist(tlist);
-
+ /*
+ * copy the original tlist, we will need the original one for the AGG
+ * node later on
+ */
+ List *new_tlist = new_unsorted_tlist(tlist);
+
List *rangetable = parse->rtable;
Plan *result_plan = (Plan *) NULL;
@@ -109,12 +110,12 @@ union_planner(Query *parse)
if (parse->unionClause)
{
- result_plan = (Plan *) plan_union_queries(parse);
- /* XXX do we need to do this? bjm 12/19/97 */
- tlist = preprocess_targetlist(tlist,
- parse->commandType,
- parse->resultRelation,
- parse->rtable);
+ result_plan = (Plan *) plan_union_queries(parse);
+ /* XXX do we need to do this? bjm 12/19/97 */
+ tlist = preprocess_targetlist(tlist,
+ parse->commandType,
+ parse->resultRelation,
+ parse->rtable);
}
else if ((rt_index =
first_inherit_rt_entry(rangetable)) != -1)
@@ -122,64 +123,65 @@ union_planner(Query *parse)
result_plan = (Plan *) plan_inherit_queries(parse, rt_index);
/* XXX do we need to do this? bjm 12/19/97 */
tlist = preprocess_targetlist(tlist,
- parse->commandType,
- parse->resultRelation,
- parse->rtable);
+ parse->commandType,
+ parse->resultRelation,
+ parse->rtable);
}
else
{
- List **vpm = NULL;
-
- /* This is only necessary if aggregates are in use in queries like:
- * SELECT sid
- * FROM part
- * GROUP BY sid
- * HAVING MIN(pid) > 1; (pid is used but never selected for!!!)
- * because the function 'query_planner' creates the plan for the lefttree
- * of the 'GROUP' node and returns only those attributes contained in 'tlist'.
- * The original 'tlist' contains only 'sid' here and that's why we have to
- * to extend it to attributes which are not selected but are used in the
- * havingQual. */
-
- /* 'check_having_qual_for_vars' takes the havingQual and the actual 'tlist'
- * as arguments and recursively scans the havingQual for attributes
- * (VAR nodes) that are not contained in 'tlist' yet. If so, it creates
- * a new entry and attaches it to the list 'new_tlist' (consisting of the
- * VAR node and the RESDOM node as usual with tlists :-) ) */
- if (parse->hasAggs)
- {
- if (parse->havingQual != NULL)
+ List **vpm = NULL;
+
+ /*
+ * This is only necessary if aggregates are in use in queries
+ * like: SELECT sid FROM part GROUP BY sid HAVING MIN(pid) > 1;
+ * (pid is used but never selected for!!!) because the function
+ * 'query_planner' creates the plan for the lefttree of the
+ * 'GROUP' node and returns only those attributes contained in
+ * 'tlist'. The original 'tlist' contains only 'sid' here and
+ * that's why we have to to extend it to attributes which are not
+ * selected but are used in the havingQual.
+ */
+
+ /*
+ * 'check_having_qual_for_vars' takes the havingQual and the
+ * actual 'tlist' as arguments and recursively scans the
+ * havingQual for attributes (VAR nodes) that are not contained in
+ * 'tlist' yet. If so, it creates a new entry and attaches it to
+ * the list 'new_tlist' (consisting of the VAR node and the RESDOM
+ * node as usual with tlists :-) )
+ */
+ if (parse->hasAggs)
{
- new_tlist = check_having_qual_for_vars(parse->havingQual,new_tlist);
+ if (parse->havingQual != NULL)
+ new_tlist = check_having_qual_for_vars(parse->havingQual, new_tlist);
}
- }
-
- new_tlist = preprocess_targetlist(new_tlist,
- parse->commandType,
- parse->resultRelation,
- parse->rtable);
-
- /* Here starts the original (pre having) code */
- tlist = preprocess_targetlist(tlist,
- parse->commandType,
- parse->resultRelation,
- parse->rtable);
-
- if (parse->rtable != NULL)
- {
- vpm = (List **) palloc(length(parse->rtable) * sizeof(List *));
- memset(vpm, 0, length(parse->rtable) * sizeof(List *));
- }
- PlannerVarParam = lcons(vpm, PlannerVarParam);
- result_plan = query_planner(parse,
- parse->commandType,
- new_tlist,
- (List *) parse->qual);
- PlannerVarParam = lnext(PlannerVarParam);
- if (vpm != NULL)
- pfree(vpm);
+
+ new_tlist = preprocess_targetlist(new_tlist,
+ parse->commandType,
+ parse->resultRelation,
+ parse->rtable);
+
+ /* Here starts the original (pre having) code */
+ tlist = preprocess_targetlist(tlist,
+ parse->commandType,
+ parse->resultRelation,
+ parse->rtable);
+
+ if (parse->rtable != NULL)
+ {
+ vpm = (List **) palloc(length(parse->rtable) * sizeof(List *));
+ memset(vpm, 0, length(parse->rtable) * sizeof(List *));
+ }
+ PlannerVarParam = lcons(vpm, PlannerVarParam);
+ result_plan = query_planner(parse,
+ parse->commandType,
+ new_tlist,
+ (List *) parse->qual);
+ PlannerVarParam = lnext(PlannerVarParam);
+ if (vpm != NULL)
+ pfree(vpm);
}
-
+
/*
* If we have a GROUP BY clause, insert a group node (with the
* appropriate sort node.)
@@ -209,11 +211,14 @@ union_planner(Query *parse)
*/
if (parse->hasAggs)
{
- int old_length=0, new_length=0;
-
- /* Create the AGG node but use 'tlist' not 'new_tlist' as target list because we
- * don't want the additional attributes (only used for the havingQual, see above)
- * to show up in the result */
+ int old_length = 0,
+ new_length = 0;
+
+ /*
+ * Create the AGG node but use 'tlist' not 'new_tlist' as target
+ * list because we don't want the additional attributes (only used
+ * for the havingQual, see above) to show up in the result
+ */
result_plan = (Plan *) make_agg(tlist, result_plan);
/*
@@ -221,70 +226,84 @@ union_planner(Query *parse)
* the result tuple of the subplans.
*/
((Agg *) result_plan)->aggs =
- set_agg_tlist_references((Agg *) result_plan);
+ set_agg_tlist_references((Agg *) result_plan);
- if(parse->havingQual!=NULL)
- {
- List *clause;
- List **vpm = NULL;
-
-
- /* stuff copied from above to handle the use of attributes from outside
- * in subselects */
+ if (parse->havingQual != NULL)
+ {
+ List *clause;
+ List **vpm = NULL;
+
+
+ /*
+ * stuff copied from above to handle the use of attributes
+ * from outside in subselects
+ */
+
+ if (parse->rtable != NULL)
+ {
+ vpm = (List **) palloc(length(parse->rtable) * sizeof(List *));
+ memset(vpm, 0, length(parse->rtable) * sizeof(List *));
+ }
+ PlannerVarParam = lcons(vpm, PlannerVarParam);
+
+ /*
+ * There is a subselect in the havingQual, so we have to
+ * process it using the same function as for a subselect in
+ * 'where'
+ */
+ if (parse->hasSubLinks)
+ parse->havingQual = SS_process_sublinks((Node *) parse->havingQual);
+
+ /* convert the havingQual to conjunctive normal form (cnf) */
+ parse->havingQual = (Node *) cnfify((Expr *) (Node *) parse->havingQual, true);
+
+ /*
+ * Calculate the opfids from the opnos (=select the correct
+ * functions for the used VAR datatypes)
+ */
+ parse->havingQual = (Node *) fix_opids((List *) parse->havingQual);
+
+ ((Agg *) result_plan)->plan.qual = (List *) parse->havingQual;
+
+ /*
+ * Check every clause of the havingQual for aggregates used
+ * and append them to result_plan->aggs
+ */
+ foreach(clause, ((Agg *) result_plan)->plan.qual)
+ {
+
+ /*
+ * Make sure there are aggregates in the havingQual if so,
+ * the list must be longer after
+ * check_having_qual_for_aggs
+ */
+ old_length = length(((Agg *) result_plan)->aggs);
+
+ ((Agg *) result_plan)->aggs = nconc(((Agg *) result_plan)->aggs,
+ check_having_qual_for_aggs((Node *) lfirst(clause),
+ ((Agg *) result_plan)->plan.lefttree->targetlist,
+ ((List *) parse->groupClause)));
+
+ /*
+ * Have a look at the length of the returned list. If
+ * there is no difference, no aggregates have been found
+ * and that means, that the Qual belongs to the where
+ * clause
+ */
+ if (((new_length = length(((Agg *) result_plan)->aggs)) == old_length) ||
+ (new_length == 0))
+ {
+ elog(ERROR, "This could have been done in a where clause!!");
+ return (Plan *) NIL;
+ }
+ }
+ PlannerVarParam = lnext(PlannerVarParam);
+ if (vpm != NULL)
+ pfree(vpm);
+ }
+ }
- if (parse->rtable != NULL)
- {
- vpm = (List **) palloc(length(parse->rtable) * sizeof(List *));
- memset(vpm, 0, length(parse->rtable) * sizeof(List *));
- }
- PlannerVarParam = lcons(vpm, PlannerVarParam);
-
- /* There is a subselect in the havingQual, so we have to process it
- * using the same function as for a subselect in 'where' */
- if (parse->hasSubLinks)
- {
- parse->havingQual = SS_process_sublinks((Node *) parse->havingQual);
- }
-
- /* convert the havingQual to conjunctive normal form (cnf) */
- parse->havingQual = (Node * ) cnfify((Expr *)(Node *) parse->havingQual,true);
-
- /* Calculate the opfids from the opnos (=select the correct functions for
- * the used VAR datatypes) */
- parse->havingQual = (Node * ) fix_opids((List *) parse->havingQual);
-
- ((Agg *) result_plan)->plan.qual=(List *) parse->havingQual;
-
- /* Check every clause of the havingQual for aggregates used and append
- * them to result_plan->aggs */
- foreach(clause, ((Agg *) result_plan)->plan.qual)
- {
- /* Make sure there are aggregates in the havingQual
- * if so, the list must be longer after check_having_qual_for_aggs */
- old_length=length(((Agg *) result_plan)->aggs);
-
- ((Agg *) result_plan)->aggs = nconc(((Agg *) result_plan)->aggs,
- check_having_qual_for_aggs((Node *) lfirst(clause),
- ((Agg *) result_plan)->plan.lefttree->targetlist,
- ((List *) parse->groupClause)));
-
- /* Have a look at the length of the returned list. If there is no
- * difference, no aggregates have been found and that means, that
- * the Qual belongs to the where clause */
- if (((new_length=length(((Agg *) result_plan)->aggs)) == old_length) ||
- (new_length == 0))
- {
- elog(ERROR,"This could have been done in a where clause!!");
- return (Plan *)NIL;
- }
- }
- PlannerVarParam = lnext(PlannerVarParam);
- if (vpm != NULL)
- pfree(vpm);
- }
- }
-
/*
* For now, before we hand back the plan, check to see if there is a
* user-specified sort that needs to be done. Eventually, this will
@@ -530,6 +549,3 @@ pg_checkretval(Oid rettype, QueryTreeList *queryTreeList)
/* success */
return;
}
-
-
-
diff --git a/src/backend/optimizer/plan/setrefs.c b/src/backend/optimizer/plan/setrefs.c
index 32f0b8225f..6f134acddb 100644
--- a/src/backend/optimizer/plan/setrefs.c
+++ b/src/backend/optimizer/plan/setrefs.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/setrefs.c,v 1.25 1998/09/01 03:23:40 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/setrefs.c,v 1.26 1998/09/01 04:29:54 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -36,11 +36,9 @@
static void set_join_tlist_references(Join *join);
static void set_tempscan_tlist_references(SeqScan *tempscan);
static void set_temp_tlist_references(Temp *temp);
-static List *
-replace_clause_joinvar_refs(Expr *clause,
+static List *replace_clause_joinvar_refs(Expr *clause,
List *outer_tlist, List *inner_tlist);
-static List *
-replace_subclause_joinvar_refs(List *clauses,
+static List *replace_subclause_joinvar_refs(List *clauses,
List *outer_tlist, List *inner_tlist);
static Var *replace_joinvar_refs(Var *var, List *outer_tlist, List *inner_tlist);
static List *tlist_temp_references(Oid tempid, List *tlist);
@@ -498,13 +496,13 @@ tlist_temp_references(Oid tempid,
oattno = 0;
temp = makeTargetEntry(xtl->resdom,
- (Node *) makeVar(tempid,
- xtl->resdom->resno,
- xtl->resdom->restype,
- xtl->resdom->restypmod,
- 0,
- tempid,
- oattno));
+ (Node *) makeVar(tempid,
+ xtl->resdom->resno,
+ xtl->resdom->restype,
+ xtl->resdom->restypmod,
+ 0,
+ tempid,
+ oattno));
t_list = lappend(t_list, temp);
}
@@ -901,190 +899,190 @@ del_agg_clause(Node *clause)
/* check_having_qual_for_vars takes the the havingQual and the actual targetlist as arguments
* and recursively scans the havingQual for attributes that are not included in the targetlist
* yet. Attributes contained in the havingQual but not in the targetlist show up with queries
- * like:
- * SELECT sid
+ * like:
+ * SELECT sid
* FROM part
* GROUP BY sid
- * HAVING MIN(pid) > 1; (pid is used but never selected for!!!).
+ * HAVING MIN(pid) > 1; (pid is used but never selected for!!!).
* To be able to handle queries like that correctly we have to extend the actual targetlist
- * (which will be the one used for the GROUP node later on) by these attributes. */
+ * (which will be the one used for the GROUP node later on) by these attributes. */
List *
check_having_qual_for_vars(Node *clause, List *targetlist_so_far)
{
- List *t;
+ List *t;
+
+
+ if (IsA(clause, Var))
+ {
+ RelOptInfo tmp_rel;
- if (IsA(clause, Var))
- {
- RelOptInfo tmp_rel;
-
+ tmp_rel.targetlist = targetlist_so_far;
- tmp_rel.targetlist = targetlist_so_far;
-
- /*
- * Ha! A Var node!
- */
+ /*
+ * Ha! A Var node!
+ */
+
+ /* Check if the VAR is already contained in the targetlist */
+ if (tlist_member((Var *) clause, (List *) targetlist_so_far) == NULL)
+ add_tl_element(&tmp_rel, (Var *) clause);
- /* Check if the VAR is already contained in the targetlist */
- if (tlist_member((Var *)clause, (List *)targetlist_so_far) == NULL)
+ return tmp_rel.targetlist;
+ }
+
+ else if (is_funcclause(clause) || not_clause(clause) ||
+ or_clause(clause) || and_clause(clause))
{
- add_tl_element(&tmp_rel, (Var *)clause);
- }
-
- return tmp_rel.targetlist;
- }
-
- else if (is_funcclause(clause) || not_clause(clause) ||
- or_clause(clause) || and_clause(clause))
- {
-
- /*
- * This is a function. Recursively call this routine for its
- * arguments...
- */
- foreach(t, ((Expr *) clause)->args)
+
+ /*
+ * This is a function. Recursively call this routine for its
+ * arguments...
+ */
+ foreach(t, ((Expr *) clause)->args)
+ targetlist_so_far = check_having_qual_for_vars(lfirst(t), targetlist_so_far);
+ return targetlist_so_far;
+ }
+ else if (IsA(clause, Aggreg))
{
- targetlist_so_far = check_having_qual_for_vars(lfirst(t), targetlist_so_far);
+ targetlist_so_far =
+ check_having_qual_for_vars(((Aggreg *) clause)->target, targetlist_so_far);
+ return targetlist_so_far;
}
- return targetlist_so_far;
- }
- else if (IsA(clause, Aggreg))
- {
- targetlist_so_far =
- check_having_qual_for_vars(((Aggreg *) clause)->target, targetlist_so_far);
- return targetlist_so_far;
- }
- else if (IsA(clause, ArrayRef))
- {
- ArrayRef *aref = (ArrayRef *) clause;
-
- /*
- * This is an arrayref. Recursively call this routine for its
- * expression and its index expression...
- */
- foreach(t, aref->refupperindexpr)
+ else if (IsA(clause, ArrayRef))
{
- targetlist_so_far = check_having_qual_for_vars(lfirst(t), targetlist_so_far);
+ ArrayRef *aref = (ArrayRef *) clause;
+
+ /*
+ * This is an arrayref. Recursively call this routine for its
+ * expression and its index expression...
+ */
+ foreach(t, aref->refupperindexpr)
+ targetlist_so_far = check_having_qual_for_vars(lfirst(t), targetlist_so_far);
+ foreach(t, aref->reflowerindexpr)
+ targetlist_so_far = check_having_qual_for_vars(lfirst(t), targetlist_so_far);
+ targetlist_so_far = check_having_qual_for_vars(aref->refexpr, targetlist_so_far);
+ targetlist_so_far = check_having_qual_for_vars(aref->refassgnexpr, targetlist_so_far);
+
+ return targetlist_so_far;
+ }
+ else if (is_opclause(clause))
+ {
+
+ /*
+ * This is an operator. Recursively call this routine for both its
+ * left and right operands
+ */
+ Node *left = (Node *) get_leftop((Expr *) clause);
+ Node *right = (Node *) get_rightop((Expr *) clause);
+
+ if (left != (Node *) NULL)
+ targetlist_so_far = check_having_qual_for_vars(left, targetlist_so_far);
+ if (right != (Node *) NULL)
+ targetlist_so_far = check_having_qual_for_vars(right, targetlist_so_far);
+
+ return targetlist_so_far;
}
- foreach(t, aref->reflowerindexpr)
+ else if (IsA(clause, Param) ||IsA(clause, Const))
{
- targetlist_so_far = check_having_qual_for_vars(lfirst(t), targetlist_so_far);
+ /* do nothing! */
+ return targetlist_so_far;
}
- targetlist_so_far = check_having_qual_for_vars(aref->refexpr, targetlist_so_far);
- targetlist_so_far = check_having_qual_for_vars(aref->refassgnexpr, targetlist_so_far);
-
- return targetlist_so_far;
- }
- else if (is_opclause(clause))
- {
-
- /*
- * This is an operator. Recursively call this routine for both its
- * left and right operands
- */
- Node *left = (Node *) get_leftop((Expr *) clause);
- Node *right = (Node *) get_rightop((Expr *) clause);
-
- if (left != (Node *) NULL)
- targetlist_so_far = check_having_qual_for_vars(left, targetlist_so_far);
- if (right != (Node *) NULL)
- targetlist_so_far = check_having_qual_for_vars(right, targetlist_so_far);
-
- return targetlist_so_far;
- }
- else if (IsA(clause, Param) || IsA(clause, Const))
- {
- /* do nothing! */
- return targetlist_so_far;
- }
- /* If we get to a sublink, then we only have to check the lefthand side of the expression
- * to see if there are any additional VARs */
- else if (IsA(clause, SubLink))
- {
- foreach(t,((List *)((SubLink *)clause)->lefthand))
+
+ /*
+ * If we get to a sublink, then we only have to check the lefthand
+ * side of the expression to see if there are any additional VARs
+ */
+ else if (IsA(clause, SubLink))
{
- targetlist_so_far = check_having_qual_for_vars(lfirst(t), targetlist_so_far);
+ foreach(t, ((List *) ((SubLink *) clause)->lefthand))
+ targetlist_so_far = check_having_qual_for_vars(lfirst(t), targetlist_so_far);
+ return targetlist_so_far;
+ }
+ else
+ {
+
+ /*
+ * Ooops! we can not handle that!
+ */
+ elog(ERROR, "check_having_qual_for_vars: Can not handle this having_qual! %d\n",
+ nodeTag(clause));
+ return NIL;
}
- return targetlist_so_far;
- }
- else
- {
- /*
- * Ooops! we can not handle that!
- */
- elog(ERROR, "check_having_qual_for_vars: Can not handle this having_qual! %d\n",
- nodeTag(clause));
- return NIL;
- }
}
-/* check_having_qual_for_aggs takes the havingQual, the targetlist and the groupClause
+/* check_having_qual_for_aggs takes the havingQual, the targetlist and the groupClause
* as arguments and scans the havingQual recursively for aggregates. If an aggregate is
- * found it is attached to a list and returned by the function. (All the returned lists
+ * found it is attached to a list and returned by the function. (All the returned lists
* are concenated to result_plan->aggs in planner.c:union_planner() */
List *
check_having_qual_for_aggs(Node *clause, List *subplanTargetList, List *groupClause)
{
- List *t, *l1;
+ List *t,
+ *l1;
List *agg_list = NIL;
- int contained_in_group_clause = 0;
-
+ int contained_in_group_clause = 0;
+
if (IsA(clause, Var))
{
- TargetEntry *subplanVar;
-
- /*
- * Ha! A Var node!
- */
- subplanVar = match_varid((Var *) clause, subplanTargetList);
-
- /*
- * Change the varno & varattno fields of the var node to point to the resdom->resno
- * fields of the subplan (lefttree)
- */
- ((Var *) clause)->varattno = subplanVar->resdom->resno;
-
- return NIL;
+ TargetEntry *subplanVar;
+
+ /*
+ * Ha! A Var node!
+ */
+ subplanVar = match_varid((Var *) clause, subplanTargetList);
+
+ /*
+ * Change the varno & varattno fields of the var node to point to
+ * the resdom->resno fields of the subplan (lefttree)
+ */
+ ((Var *) clause)->varattno = subplanVar->resdom->resno;
+
+ return NIL;
}
- else if (is_funcclause(clause) || not_clause(clause) ||
- or_clause(clause) || and_clause(clause))
+ else if (is_funcclause(clause) || not_clause(clause) ||
+ or_clause(clause) || and_clause(clause))
{
- int new_length=0, old_length=0;
-
+ int new_length = 0,
+ old_length = 0;
+
/*
* This is a function. Recursively call this routine for its
* arguments... (i.e. for AND, OR, ... clauses!)
*/
foreach(t, ((Expr *) clause)->args)
{
- old_length=length((List *)agg_list);
-
- agg_list = nconc(agg_list,
- check_having_qual_for_aggs(lfirst(t), subplanTargetList,
- groupClause));
-
- /* The arguments of OR or AND clauses are comparisons or relations
- * and because we are in the havingQual there must be at least one operand
- * using an aggregate function. If so, we will find it and the lenght of the
- * agg_list will be increased after the above call to
- * check_having_qual_for_aggs. If there are no aggregates used, the query
- * could have been formulated using the 'where' clause */
- if(((new_length=length((List *)agg_list)) == old_length) || (new_length == 0))
- {
- elog(ERROR,"This could have been done in a where clause!!");
- return NIL;
- }
+ old_length = length((List *) agg_list);
+
+ agg_list = nconc(agg_list,
+ check_having_qual_for_aggs(lfirst(t), subplanTargetList,
+ groupClause));
+
+ /*
+ * The arguments of OR or AND clauses are comparisons or
+ * relations and because we are in the havingQual there must
+ * be at least one operand using an aggregate function. If so,
+ * we will find it and the lenght of the agg_list will be
+ * increased after the above call to
+ * check_having_qual_for_aggs. If there are no aggregates
+ * used, the query could have been formulated using the
+ * 'where' clause
+ */
+ if (((new_length = length((List *) agg_list)) == old_length) || (new_length == 0))
+ {
+ elog(ERROR, "This could have been done in a where clause!!");
+ return NIL;
+ }
}
return agg_list;
}
else if (IsA(clause, Aggreg))
{
return lcons(clause,
- check_having_qual_for_aggs(((Aggreg *) clause)->target, subplanTargetList,
- groupClause));
+ check_having_qual_for_aggs(((Aggreg *) clause)->target, subplanTargetList,
+ groupClause));
}
else if (IsA(clause, ArrayRef))
{
@@ -1097,21 +1095,21 @@ check_having_qual_for_aggs(Node *clause, List *subplanTargetList, List *groupCla
foreach(t, aref->refupperindexpr)
{
agg_list = nconc(agg_list,
- check_having_qual_for_aggs(lfirst(t), subplanTargetList,
- groupClause));
+ check_having_qual_for_aggs(lfirst(t), subplanTargetList,
+ groupClause));
}
foreach(t, aref->reflowerindexpr)
{
agg_list = nconc(agg_list,
- check_having_qual_for_aggs(lfirst(t), subplanTargetList,
- groupClause));
+ check_having_qual_for_aggs(lfirst(t), subplanTargetList,
+ groupClause));
}
agg_list = nconc(agg_list,
- check_having_qual_for_aggs(aref->refexpr, subplanTargetList,
- groupClause));
+ check_having_qual_for_aggs(aref->refexpr, subplanTargetList,
+ groupClause));
agg_list = nconc(agg_list,
- check_having_qual_for_aggs(aref->refassgnexpr, subplanTargetList,
- groupClause));
+ check_having_qual_for_aggs(aref->refassgnexpr, subplanTargetList,
+ groupClause));
return agg_list;
}
@@ -1127,80 +1125,86 @@ check_having_qual_for_aggs(Node *clause, List *subplanTargetList, List *groupCla
if (left != (Node *) NULL)
agg_list = nconc(agg_list,
- check_having_qual_for_aggs(left, subplanTargetList,
- groupClause));
+ check_having_qual_for_aggs(left, subplanTargetList,
+ groupClause));
if (right != (Node *) NULL)
agg_list = nconc(agg_list,
check_having_qual_for_aggs(right, subplanTargetList,
- groupClause));
+ groupClause));
return agg_list;
}
- else if (IsA(clause, Param) || IsA(clause, Const))
+ else if (IsA(clause, Param) ||IsA(clause, Const))
{
/* do nothing! */
return NIL;
}
- /* This is for Sublinks which show up as EXPR nodes. All the other EXPR nodes
- * (funcclauses, and_clauses, or_clauses) were caught above */
+
+ /*
+ * This is for Sublinks which show up as EXPR nodes. All the other
+ * EXPR nodes (funcclauses, and_clauses, or_clauses) were caught above
+ */
else if (IsA(clause, Expr))
- {
- /* Only the lefthand side of the sublink has to be checked for aggregates
- * to be attached to result_plan->aggs (see planner.c:union_planner() )
- */
- foreach(t,((List *)((SubLink *)((SubPlan *)
- ((Expr *)clause)->oper)->sublink)->lefthand))
- {
- agg_list =
- nconc(agg_list,
- check_having_qual_for_aggs(lfirst(t),
- subplanTargetList, groupClause));
- }
-
-
- /* All arguments to the Sublink node are attributes from outside used within
- * the sublink. Here we have to check that only attributes that is grouped for
- * are used! */
- foreach(t,((Expr *)clause)->args)
- {
- contained_in_group_clause = 0;
-
- foreach(l1,groupClause)
- {
- if (tlist_member(lfirst(t),lcons(((GroupClause *)lfirst(l1))->entry,NIL)) !=
- NULL)
- {
- contained_in_group_clause=1;
- }
- }
-
- /* If the use of the attribute is allowed (i.e. it is in the groupClause)
- * we have to adjust the varnos and varattnos */
- if (contained_in_group_clause)
- {
- agg_list =
- nconc(agg_list,
- check_having_qual_for_aggs(lfirst(t),
- subplanTargetList, groupClause));
- }
- else
- {
- elog(ERROR,"You must group by the attribute used from outside!");
- return NIL;
- }
- }
- return agg_list;
- }
- else
- {
- /*
- * Ooops! we can not handle that!
- */
- elog(ERROR, "check_having_qual_for_aggs: Can not handle this having_qual! %d\n",
- nodeTag(clause));
- return NIL;
- }
-}
+ {
+ /*
+ * Only the lefthand side of the sublink has to be checked for
+ * aggregates to be attached to result_plan->aggs (see
+ * planner.c:union_planner() )
+ */
+ foreach(t, ((List *) ((SubLink *) ((SubPlan *)
+ ((Expr *) clause)->oper)->sublink)->lefthand))
+ {
+ agg_list =
+ nconc(agg_list,
+ check_having_qual_for_aggs(lfirst(t),
+ subplanTargetList, groupClause));
+ }
+ /*
+ * All arguments to the Sublink node are attributes from outside
+ * used within the sublink. Here we have to check that only
+ * attributes that is grouped for are used!
+ */
+ foreach(t, ((Expr *) clause)->args)
+ {
+ contained_in_group_clause = 0;
+
+ foreach(l1, groupClause)
+ {
+ if (tlist_member(lfirst(t), lcons(((GroupClause *) lfirst(l1))->entry, NIL)) !=
+ NULL)
+ contained_in_group_clause = 1;
+ }
+
+ /*
+ * If the use of the attribute is allowed (i.e. it is in the
+ * groupClause) we have to adjust the varnos and varattnos
+ */
+ if (contained_in_group_clause)
+ {
+ agg_list =
+ nconc(agg_list,
+ check_having_qual_for_aggs(lfirst(t),
+ subplanTargetList, groupClause));
+ }
+ else
+ {
+ elog(ERROR, "You must group by the attribute used from outside!");
+ return NIL;
+ }
+ }
+ return agg_list;
+ }
+ else
+ {
+
+ /*
+ * Ooops! we can not handle that!
+ */
+ elog(ERROR, "check_having_qual_for_aggs: Can not handle this having_qual! %d\n",
+ nodeTag(clause));
+ return NIL;
+ }
+}
diff --git a/src/backend/optimizer/plan/subselect.c b/src/backend/optimizer/plan/subselect.c
index 61d0df57af..a1b4cd22cc 100644
--- a/src/backend/optimizer/plan/subselect.c
+++ b/src/backend/optimizer/plan/subselect.c
@@ -405,20 +405,23 @@ SS_process_sublinks(Node *expr)
SS_process_sublinks((Node *) ((Expr *) expr)->args);
else if (IsA(expr, SubLink))/* got it! */
{
- /* Hack to make sure expr->oper->args points to the same VAR node
- * as expr->lefthand does. Needed for subselects in the havingQual
- * when used on views.
- * Otherwise aggregate functions will fail later on (at execution
- * time!) Reason: The rewite System makes several copies of the
- * VAR nodes and in this case it should not do so :-( */
- if(((SubLink *) expr)->lefthand != NULL)
+
+ /*
+ * Hack to make sure expr->oper->args points to the same VAR node
+ * as expr->lefthand does. Needed for subselects in the havingQual
+ * when used on views. Otherwise aggregate functions will fail
+ * later on (at execution time!) Reason: The rewite System makes
+ * several copies of the VAR nodes and in this case it should not
+ * do so :-(
+ */
+ if (((SubLink *) expr)->lefthand != NULL)
{
- lfirst(((Expr *) lfirst(((SubLink *)expr)->oper))->args) =
- lfirst(((SubLink *)expr)->lefthand);
+ lfirst(((Expr *) lfirst(((SubLink *) expr)->oper))->args) =
+ lfirst(((SubLink *) expr)->lefthand);
}
- expr = _make_subplan((SubLink *) expr);
+ expr = _make_subplan((SubLink *) expr);
}
-
+
return expr;
}
diff --git a/src/backend/optimizer/prep/preptlist.c b/src/backend/optimizer/prep/preptlist.c
index 6fa90a13cf..73ed555ff5 100644
--- a/src/backend/optimizer/prep/preptlist.c
+++ b/src/backend/optimizer/prep/preptlist.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/prep/preptlist.c,v 1.15 1998/09/01 03:23:44 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/prep/preptlist.c,v 1.16 1998/09/01 04:29:57 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -34,14 +34,11 @@
#include "optimizer/clauses.h"
#include "optimizer/tlist.h"
-static List *
-expand_targetlist(List *tlist, Oid relid, int command_type,
+static List *expand_targetlist(List *tlist, Oid relid, int command_type,
Index result_relation);
-static List *
-replace_matching_resname(List *new_tlist,
+static List *replace_matching_resname(List *new_tlist,
List *old_tlist);
-static List *
-new_relation_targetlist(Oid relid, Index rt_index,
+static List *new_relation_targetlist(Oid relid, Index rt_index,
NodeTag node_type);
@@ -295,13 +292,13 @@ new_relation_targetlist(Oid relid, Index rt_index, NodeTag node_type)
false);
temp3 = makeTargetEntry(makeResdom(attno,
- atttype,
- -1,
- attname,
- 0,
- (Oid) 0,
- 0),
- (Node *) temp2);
+ atttype,
+ -1,
+ attname,
+ 0,
+ (Oid) 0,
+ 0),
+ (Node *) temp2);
t_list = lappend(t_list, temp3);
break;
}
@@ -316,13 +313,13 @@ new_relation_targetlist(Oid relid, Index rt_index, NodeTag node_type)
0, rt_index, attno);
temp_list = makeTargetEntry(makeResdom(attno,
- atttype,
- get_atttypmod(relid, attno),
- attname,
- 0,
- (Oid) 0,
- 0),
- (Node *) temp_var);
+ atttype,
+ get_atttypmod(relid, attno),
+ attname,
+ 0,
+ (Oid) 0,
+ 0),
+ (Node *) temp_var);
t_list = lappend(t_list, temp_list);
break;
}
diff --git a/src/backend/optimizer/prep/prepunion.c b/src/backend/optimizer/prep/prepunion.c
index f0242d7270..06f270e118 100644
--- a/src/backend/optimizer/prep/prepunion.c
+++ b/src/backend/optimizer/prep/prepunion.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/prep/prepunion.c,v 1.26 1998/09/01 03:23:46 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/prep/prepunion.c,v 1.27 1998/09/01 04:29:59 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -34,21 +34,16 @@
#include "optimizer/planner.h"
#include "optimizer/planmain.h"
-static List *
-plan_inherit_query(List *relids, Index rt_index,
+static List *plan_inherit_query(List *relids, Index rt_index,
RangeTblEntry *rt_entry, Query *parse,
List **union_rtentriesPtr);
-static RangeTblEntry *
-new_rangetable_entry(Oid new_relid,
+static RangeTblEntry *new_rangetable_entry(Oid new_relid,
RangeTblEntry *old_entry);
-static Query *
-subst_rangetable(Query *root, Index index,
+static Query *subst_rangetable(Query *root, Index index,
RangeTblEntry *new_entry);
-static void
-fix_parsetree_attnums(Index rt_index, Oid old_relid,
+static void fix_parsetree_attnums(Index rt_index, Oid old_relid,
Oid new_relid, Query *parsetree);
-static Append *
-make_append(List *appendplans, List *unionrtables, Index rt_index,
+static Append *make_append(List *appendplans, List *unionrtables, Index rt_index,
List *inheritrtable, List *tlist);
@@ -89,7 +84,7 @@ plan_union_queries(Query *parse)
*
* So the above query becomes:
*
- * Append Node
+ * Append Node
* {
* Sort and Unique
* {
@@ -281,7 +276,7 @@ plan_inherit_query(List *relids,
new_root->sortClause = NULL;
new_root->groupClause = NULL;
new_root->havingQual = NULL;
-
+
if (new_root->hasAggs)
{
new_root->hasAggs = false;
@@ -502,14 +497,14 @@ make_append(List *appendplans,
{
Append *node = makeNode(Append);
List *subnode;
-
+
node->appendplans = appendplans;
node->unionrtables = unionrtables;
node->inheritrelid = rt_index;
node->inheritrtable = inheritrtable;
node->plan.cost = 0.0;
foreach(subnode, appendplans)
- node->plan.cost += ((Plan *)lfirst(subnode))->cost;
+ node->plan.cost += ((Plan *) lfirst(subnode))->cost;
node->plan.state = (EState *) NULL;
node->plan.targetlist = tlist;
node->plan.qual = NIL;
diff --git a/src/backend/optimizer/util/clauseinfo.c b/src/backend/optimizer/util/clauseinfo.c
index 0385edaae9..207074bb1a 100644
--- a/src/backend/optimizer/util/clauseinfo.c
+++ b/src/backend/optimizer/util/clauseinfo.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/Attic/clauseinfo.c,v 1.8 1998/09/01 03:23:47 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/Attic/clauseinfo.c,v 1.9 1998/09/01 04:30:00 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -27,7 +27,7 @@
*
*/
bool
-valid_or_clause(ClauseInfo *clauseinfo)
+valid_or_clause(ClauseInfo * clauseinfo)
{
if (clauseinfo != NULL &&
!single_node((Node *) clauseinfo->clause) &&
@@ -49,7 +49,7 @@ get_actual_clauses(List *clauseinfo_list)
{
List *temp = NIL;
List *result = NIL;
- ClauseInfo *clause = (ClauseInfo *) NULL;
+ ClauseInfo *clause = (ClauseInfo *) NULL;
foreach(temp, clauseinfo_list)
{
@@ -93,7 +93,7 @@ get_relattvals(List *clauseinfo_list,
List *result1 = NIL;
List *result2 = NIL;
List *result3 = NIL;
- ClauseInfo *temp = (ClauseInfo *) NULL;
+ ClauseInfo *temp = (ClauseInfo *) NULL;
List *i = NIL;
foreach(i, clauseinfo_list)
@@ -144,7 +144,7 @@ get_joinvars(Oid relid,
foreach(temp, clauseinfo_list)
{
- ClauseInfo *clauseinfo = lfirst(temp);
+ ClauseInfo *clauseinfo = lfirst(temp);
Expr *clause = clauseinfo->clause;
if (IsA(get_leftop(clause), Var) &&
@@ -176,7 +176,7 @@ get_joinvars(Oid relid,
List *
get_opnos(List *clauseinfo_list)
{
- ClauseInfo *temp = (ClauseInfo *) NULL;
+ ClauseInfo *temp = (ClauseInfo *) NULL;
List *result = NIL;
List *i = NIL;
diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c
index 0ec0f74ca1..19bd3ce98e 100644
--- a/src/backend/optimizer/util/clauses.c
+++ b/src/backend/optimizer/util/clauses.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/clauses.c,v 1.23 1998/09/01 03:23:49 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/clauses.c,v 1.24 1998/09/01 04:30:02 momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -199,8 +199,8 @@ bool
or_clause(Node *clause)
{
return clause != NULL &&
- nodeTag(clause) == T_Expr &&
- ((Expr *) clause)->opType == OR_EXPR;
+ nodeTag(clause) == T_Expr &&
+ ((Expr *) clause)->opType == OR_EXPR;
}
/*
@@ -460,7 +460,7 @@ is_joinable(Node *clause)
* One side of the clause (i.e. left or right operands) must either be
* a var node ...
*/
- if (IsA(leftop, Var) || IsA(rightop, Var))
+ if (IsA(leftop, Var) ||IsA(rightop, Var))
return true;
/*
diff --git a/src/backend/optimizer/util/indexnode.c b/src/backend/optimizer/util/indexnode.c
index a48c817e1f..d83b353cc5 100644
--- a/src/backend/optimizer/util/indexnode.c
+++ b/src/backend/optimizer/util/indexnode.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/Attic/indexnode.c,v 1.9 1998/09/01 03:23:50 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/Attic/indexnode.c,v 1.10 1998/09/01 04:30:04 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -33,7 +33,7 @@ static List *find_secondary_index(Query *root, Oid relid);
*
*/
List *
-find_relation_indices(Query *root, RelOptInfo *rel)
+find_relation_indices(Query *root, RelOptInfo * rel)
{
if (rel->indexed)
return find_secondary_index(root, lfirsti(rel->relids));
@@ -61,7 +61,7 @@ find_secondary_index(Query *root, Oid relid)
while (index_info(root, first, relid, &indexinfo))
{
- RelOptInfo *indexnode = makeNode(RelOptInfo);
+ RelOptInfo *indexnode = makeNode(RelOptInfo);
indexnode->relids = lconsi(indexinfo.relid, NIL);
indexnode->relam = indexinfo.relam;
diff --git a/src/backend/optimizer/util/joininfo.c b/src/backend/optimizer/util/joininfo.c
index 9e45905bc8..50e3065f82 100644
--- a/src/backend/optimizer/util/joininfo.c
+++ b/src/backend/optimizer/util/joininfo.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/joininfo.c,v 1.11 1998/09/01 03:23:52 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/joininfo.c,v 1.12 1998/09/01 04:30:05 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -35,7 +35,7 @@
* exists.
*
*/
-JoinInfo *
+JoinInfo *
joininfo_member(List *join_relids, List *joininfo_list)
{
List *i = NIL;
@@ -61,10 +61,10 @@ joininfo_member(List *join_relids, List *joininfo_list)
* Returns a joininfo node.
*
*/
-JoinInfo *
-find_joininfo_node(RelOptInfo *this_rel, List *join_relids)
+JoinInfo *
+find_joininfo_node(RelOptInfo * this_rel, List *join_relids)
{
- JoinInfo *joininfo = joininfo_member(join_relids,
+ JoinInfo *joininfo = joininfo_member(join_relids,
this_rel->joininfo);
if (joininfo == NULL)
diff --git a/src/backend/optimizer/util/keys.c b/src/backend/optimizer/util/keys.c
index 9ecf7377ab..3e2372339d 100644
--- a/src/backend/optimizer/util/keys.c
+++ b/src/backend/optimizer/util/keys.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/Attic/keys.c,v 1.8 1998/09/01 03:23:53 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/Attic/keys.c,v 1.9 1998/09/01 04:30:07 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -54,7 +54,7 @@ static bool equal_indexkey_var(int index_key, Var *var);
*
*/
bool
-match_indexkey_operand(int indexkey, Var *operand, RelOptInfo *rel)
+match_indexkey_operand(int indexkey, Var *operand, RelOptInfo * rel)
{
if (IsA(operand, Var) &&
(lfirsti(rel->relids) == operand->varno) &&
diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c
index bdd4e4509a..598400fa49 100644
--- a/src/backend/optimizer/util/pathnode.c
+++ b/src/backend/optimizer/util/pathnode.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/pathnode.c,v 1.11 1998/09/01 03:23:55 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/pathnode.c,v 1.12 1998/09/01 04:30:08 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -62,7 +62,7 @@ path_is_cheaper(Path *path1, Path *path2)
*
*/
Path *
-set_cheapest(RelOptInfo *parent_rel, List *pathlist)
+set_cheapest(RelOptInfo * parent_rel, List *pathlist)
{
List *p;
Path *cheapest_so_far;
@@ -99,7 +99,7 @@ set_cheapest(RelOptInfo *parent_rel, List *pathlist)
*
*/
List *
-add_pathlist(RelOptInfo *parent_rel, List *unique_paths, List *new_paths)
+add_pathlist(RelOptInfo * parent_rel, List *unique_paths, List *new_paths)
{
List *x;
Path *new_path;
@@ -200,7 +200,7 @@ better_path(Path *new_path, List *unique_paths, bool *noOther)
*
*/
Path *
-create_seqscan_path(RelOptInfo *rel)
+create_seqscan_path(RelOptInfo * rel)
{
int relid = 0;
@@ -251,8 +251,8 @@ create_seqscan_path(RelOptInfo *rel)
*/
IndexPath *
create_index_path(Query *root,
- RelOptInfo *rel,
- RelOptInfo *index,
+ RelOptInfo * rel,
+ RelOptInfo * index,
List *restriction_clauses,
bool is_join_scan)
{
@@ -406,8 +406,8 @@ create_index_path(Query *root,
*
*/
JoinPath *
-create_nestloop_path(RelOptInfo *joinrel,
- RelOptInfo *outer_rel,
+create_nestloop_path(RelOptInfo * joinrel,
+ RelOptInfo * outer_rel,
Path *outer_path,
Path *inner_path,
List *keys)
@@ -481,7 +481,7 @@ create_nestloop_path(RelOptInfo *joinrel,
*
*/
MergePath *
-create_mergejoin_path(RelOptInfo *joinrel,
+create_mergejoin_path(RelOptInfo * joinrel,
int outersize,
int innersize,
int outerwidth,
@@ -547,7 +547,7 @@ create_mergejoin_path(RelOptInfo *joinrel,
*
*/
HashPath *
-create_hashjoin_path(RelOptInfo *joinrel,
+create_hashjoin_path(RelOptInfo * joinrel,
int outersize,
int innersize,
int outerwidth,
diff --git a/src/backend/optimizer/util/plancat.c b/src/backend/optimizer/util/plancat.c
index b04efb5a36..786947e809 100644
--- a/src/backend/optimizer/util/plancat.c
+++ b/src/backend/optimizer/util/plancat.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/plancat.c,v 1.20 1998/09/01 03:23:56 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/plancat.c,v 1.21 1998/09/01 04:30:09 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -40,10 +40,9 @@
#endif
-static void
-IndexSelectivity(Oid indexrelid, Oid indrelid, int32 nIndexKeys,
- Oid *AccessMethodOperatorClasses, Oid *operatorObjectIds,
- int32 *varAttributeNumbers, char **constValues, int32 *constFlags,
+static void IndexSelectivity(Oid indexrelid, Oid indrelid, int32 nIndexKeys,
+ Oid *AccessMethodOperatorClasses, Oid *operatorObjectIds,
+ int32 *varAttributeNumbers, char **constValues, int32 *constFlags,
float *idxPages, float *idxSelec);
@@ -65,7 +64,7 @@ relation_info(Query *root, Index relid,
relationObjectId = getrelid(relid, root->rtable);
relationTuple = SearchSysCacheTuple(RELOID,
- ObjectIdGetDatum(relationObjectId),
+ ObjectIdGetDatum(relationObjectId),
0, 0, 0);
if (HeapTupleIsValid(relationTuple))
{
@@ -195,7 +194,7 @@ index_info(Query *root, bool first, int relid, IdxInfoRetval *info)
#ifdef notdef
/* XXX should iterate through strategies -- but how? use #1 for now */
amstrategy = indexRelation->rd_am->amstrategies;
-#endif /* notdef */
+#endif /* notdef */
amstrategy = 1;
relam = indexRelation->rd_rel->relam;
info->relam = relam;
diff --git a/src/backend/optimizer/util/relnode.c b/src/backend/optimizer/util/relnode.c
index 869b4ff6bd..52bcd059db 100644
--- a/src/backend/optimizer/util/relnode.c
+++ b/src/backend/optimizer/util/relnode.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/relnode.c,v 1.8 1998/09/01 03:23:58 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/relnode.c,v 1.9 1998/09/01 04:30:11 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -31,7 +31,7 @@ RelOptInfo *
get_base_rel(Query *root, int relid)
{
List *relids;
- RelOptInfo *rel;
+ RelOptInfo *rel;
relids = lconsi(relid, NIL);
rel = rel_member(relids, root->base_rel_list);
@@ -65,6 +65,7 @@ get_base_rel(Query *root, int relid)
*/
if (relid < 0)
{
+
/*
* If the relation is a materialized relation, assume
* constants for sizes.
diff --git a/src/backend/optimizer/util/tlist.c b/src/backend/optimizer/util/tlist.c
index 8aee7a1645..8400e96725 100644
--- a/src/backend/optimizer/util/tlist.c
+++ b/src/backend/optimizer/util/tlist.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/tlist.c,v 1.17 1998/09/01 03:23:59 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/tlist.c,v 1.18 1998/09/01 04:30:12 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -93,7 +93,7 @@ matching_tlvar(Var *var, List *targetlist)
* CREATES: new var-node iff no matching var-node exists in targetlist
*/
void
-add_tl_element(RelOptInfo *rel, Var *var)
+add_tl_element(RelOptInfo * rel, Var *var)
{
Expr *oldvar = (Expr *) NULL;
@@ -134,14 +134,14 @@ TargetEntry *
create_tl_element(Var *var, int resdomno)
{
- return makeTargetEntry(makeResdom(resdomno,
- var->vartype,
- var->vartypmod,
- NULL,
- (Index) 0,
- (Oid) 0,
- 0),
- (Node *) var);
+ return makeTargetEntry(makeResdom(resdomno,
+ var->vartype,
+ var->vartypmod,
+ NULL,
+ (Index) 0,
+ (Oid) 0,
+ 0),
+ (Node *) var);
}
/*
@@ -348,7 +348,7 @@ copy_vars(List *target, List *source)
dest != NIL; src = lnext(src), dest = lnext(dest))
{
TargetEntry *temp = makeTargetEntry(((TargetEntry *) lfirst(dest))->resdom,
- (Node *) get_expr(lfirst(src)));
+ (Node *) get_expr(lfirst(src)));
result = lappend(result, temp);
}
@@ -432,8 +432,8 @@ flatten_tlist_vars(List *full_tlist, List *flat_tlist)
result =
lappend(result,
makeTargetEntry(tle->resdom,
- flatten_tlistentry((Node *) get_expr(tle),
- flat_tlist)));
+ flatten_tlistentry((Node *) get_expr(tle),
+ flat_tlist)));
}
return result;
diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c
index f7486c546c..f77cdfc755 100644
--- a/src/backend/parser/analyze.c
+++ b/src/backend/parser/analyze.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.84 1998/09/01 03:24:02 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.85 1998/09/01 04:30:15 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -69,7 +69,7 @@ parse_analyze(List *pl, ParseState *parentParseState)
while (pl != NIL)
{
#ifdef PARSEDEBUG
- elog(DEBUG,"parse tree from yacc:\n---\n%s\n---\n", nodeToString(lfirst(pl)));
+ elog(DEBUG, "parse tree from yacc:\n---\n%s\n---\n", nodeToString(lfirst(pl)));
#endif
pstate = make_parsestate(parentParseState);
@@ -313,11 +313,11 @@ transformInsertStmt(ParseState *pstate, InsertStmt *stmt)
* better to create proper target list here...
*/
te = makeTargetEntry(makeResdom(defval[ndef].adnum,
- att[defval[ndef].adnum - 1]->atttypid,
- att[defval[ndef].adnum - 1]->atttypmod,
- pstrdup(nameout(&(att[defval[ndef].adnum - 1]->attname))),
- 0, 0, 0),
- (Node *) stringToNode(defval[ndef].adbin));
+ att[defval[ndef].adnum - 1]->atttypid,
+ att[defval[ndef].adnum - 1]->atttypmod,
+ pstrdup(nameout(&(att[defval[ndef].adnum - 1]->attname))),
+ 0, 0, 0),
+ (Node *) stringToNode(defval[ndef].adbin));
qry->targetList = lappend(qry->targetList, te);
}
}
@@ -325,9 +325,12 @@ transformInsertStmt(ParseState *pstate, InsertStmt *stmt)
/* fix where clause */
qry->qual = transformWhereClause(pstate, stmt->whereClause);
- /* The havingQual has a similar meaning as "qual" in the where statement.
- * So we can easily use the code from the "where clause" with some additional
- * traversals done in .../optimizer/plan/planner.c */
+ /*
+ * The havingQual has a similar meaning as "qual" in the where
+ * statement. So we can easily use the code from the "where clause"
+ * with some additional traversals done in
+ * .../optimizer/plan/planner.c
+ */
qry->havingQual = transformWhereClause(pstate, stmt->havingClause);
qry->hasSubLinks = pstate->p_hasSubLinks;
@@ -351,20 +354,24 @@ transformInsertStmt(ParseState *pstate, InsertStmt *stmt)
if (pstate->p_hasAggs)
parseCheckAggregates(pstate, qry);
- /* The INSERT INTO ... SELECT ... could have a UNION
- * in child, so unionClause may be false
+ /*
+ * The INSERT INTO ... SELECT ... could have a UNION in child, so
+ * unionClause may be false
*/
qry->unionall = stmt->unionall;
qry->unionClause = transformUnionClause(stmt->unionClause, qry->targetList);
- /* If there is a havingQual but there are no aggregates, then there is something wrong
- * with the query because having must contain aggregates in its expressions!
- * Otherwise the query could have been formulated using the where clause. */
- if((qry->hasAggs == false) && (qry->havingQual != NULL))
- {
- elog(ERROR,"This is not a valid having query!");
- return (Query *)NIL;
- }
+ /*
+ * If there is a havingQual but there are no aggregates, then there is
+ * something wrong with the query because having must contain
+ * aggregates in its expressions! Otherwise the query could have been
+ * formulated using the where clause.
+ */
+ if ((qry->hasAggs == false) && (qry->havingQual != NULL))
+ {
+ elog(ERROR, "This is not a valid having query!");
+ return (Query *) NIL;
+ }
return (Query *) qry;
}
@@ -495,13 +502,13 @@ transformCreateStmt(ParseState *pstate, CreateStmt *stmt)
if (column->is_sequence)
{
- char *cstring;
+ char *cstring;
CreateSeqStmt *sequence;
constraint = makeNode(Constraint);
constraint->contype = CONSTR_DEFAULT;
constraint->name = makeTableName(stmt->relname, column->colname, "seq", NULL);
- cstring = palloc(9+strlen(constraint->name)+2+1);
+ cstring = palloc(9 + strlen(constraint->name) + 2 + 1);
strcpy(cstring, "nextval('");
strcat(cstring, constraint->name);
strcat(cstring, "')");
@@ -509,20 +516,16 @@ transformCreateStmt(ParseState *pstate, CreateStmt *stmt)
constraint->keys = NULL;
if (column->constraints != NIL)
- {
column->constraints = lappend(column->constraints, constraint);
- }
else
- {
column->constraints = lcons(constraint, NIL);
- }
sequence = makeNode(CreateSeqStmt);
sequence->seqname = pstrdup(constraint->name);
sequence->options = NIL;
elog(NOTICE, "CREATE TABLE will create implicit sequence %s for SERIAL column %s.%s",
- sequence->seqname, stmt->relname, column->colname);
+ sequence->seqname, stmt->relname, column->colname);
ilist = lcons(sequence, NIL);
@@ -789,14 +792,16 @@ transformRuleStmt(ParseState *pstate, RuleStmt *stmt)
qry->commandType = CMD_UTILITY;
/*
- * 'instead nothing' rules with a qualification need a
- * query a rangetable so the rewrite handler can add the
- * negated rule qualification to the original query. We
- * create a query with the new command type CMD_NOTHING
- * here that is treated special by the rewrite system.
+ * 'instead nothing' rules with a qualification need a query a
+ * rangetable so the rewrite handler can add the negated rule
+ * qualification to the original query. We create a query with the new
+ * command type CMD_NOTHING here that is treated special by the
+ * rewrite system.
*/
- if (stmt->actions == NIL) {
- Query *nothing_qry = makeNode(Query);
+ if (stmt->actions == NIL)
+ {
+ Query *nothing_qry = makeNode(Query);
+
nothing_qry->commandType = CMD_NOTHING;
addRangeTableEntry(pstate, stmt->object->relname, "*CURRENT*",
@@ -830,7 +835,7 @@ transformRuleStmt(ParseState *pstate, RuleStmt *stmt)
pstate->p_is_rule = true; /* for expand all */
pstate->p_hasAggs = false;
- action = (Query *)lfirst(actions);
+ action = (Query *) lfirst(actions);
if (action->commandType != CMD_NOTHING)
lfirst(actions) = transformStmt(pstate, lfirst(actions));
actions = lnext(actions);
@@ -869,9 +874,12 @@ transformSelectStmt(ParseState *pstate, SelectStmt *stmt)
qry->qual = transformWhereClause(pstate, stmt->whereClause);
- /* The havingQual has a similar meaning as "qual" in the where statement.
- * So we can easily use the code from the "where clause" with some additional
- * traversals done in .../optimizer/plan/planner.c */
+ /*
+ * The havingQual has a similar meaning as "qual" in the where
+ * statement. So we can easily use the code from the "where clause"
+ * with some additional traversals done in
+ * .../optimizer/plan/planner.c
+ */
qry->havingQual = transformWhereClause(pstate, stmt->havingClause);
qry->hasSubLinks = pstate->p_hasSubLinks;
@@ -891,20 +899,24 @@ transformSelectStmt(ParseState *pstate, SelectStmt *stmt)
if (pstate->p_hasAggs)
parseCheckAggregates(pstate, qry);
- /* The INSERT INTO ... SELECT ... could have a UNION
- * in child, so unionClause may be false
+ /*
+ * The INSERT INTO ... SELECT ... could have a UNION in child, so
+ * unionClause may be false
*/
qry->unionall = stmt->unionall;
qry->unionClause = transformUnionClause(stmt->unionClause, qry->targetList);
- /* If there is a havingQual but there are no aggregates, then there is something wrong
- * with the query because having must contain aggregates in its expressions!
- * Otherwise the query could have been formulated using the where clause. */
- if((qry->hasAggs == false) && (qry->havingQual != NULL))
- {
- elog(ERROR,"This is not a valid having query!");
- return (Query *)NIL;
- }
+ /*
+ * If there is a havingQual but there are no aggregates, then there is
+ * something wrong with the query because having must contain
+ * aggregates in its expressions! Otherwise the query could have been
+ * formulated using the where clause.
+ */
+ if ((qry->hasAggs == false) && (qry->havingQual != NULL))
+ {
+ elog(ERROR, "This is not a valid having query!");
+ return (Query *) NIL;
+ }
return (Query *) qry;
}
diff --git a/src/backend/parser/gram.c b/src/backend/parser/gram.c
index 0f93d9c800..6092cc57df 100644
--- a/src/backend/parser/gram.c
+++ b/src/backend/parser/gram.c
@@ -1,212 +1,212 @@
-/* A Bison parser, made from gram.y
+/* A Bison parser, made from gram.y
by GNU Bison version 1.25
*/
-#define YYBISON 1 /* Identify Bison output. */
-
-#define ACTION 258
-#define ADD 259
-#define ALL 260
-#define ALTER 261
-#define AND 262
-#define ANY 263
-#define AS 264
-#define ASC 265
-#define BEGIN_TRANS 266
-#define BETWEEN 267
-#define BOTH 268
-#define BY 269
-#define CASCADE 270
-#define CAST 271
-#define CHAR 272
-#define CHARACTER 273
-#define CHECK 274
-#define CLOSE 275
-#define COLLATE 276
-#define COLUMN 277
-#define COMMIT 278
-#define CONSTRAINT 279
-#define CREATE 280
-#define CROSS 281
-#define CURRENT 282
-#define CURRENT_DATE 283
-#define CURRENT_TIME 284
-#define CURRENT_TIMESTAMP 285
-#define CURRENT_USER 286
-#define CURSOR 287
-#define DAY_P 288
-#define DECIMAL 289
-#define DECLARE 290
-#define DEFAULT 291
-#define DELETE 292
-#define DESC 293
-#define DISTINCT 294
-#define DOUBLE 295
-#define DROP 296
-#define END_TRANS 297
-#define EXECUTE 298
-#define EXISTS 299
-#define EXTRACT 300
-#define FETCH 301
-#define FLOAT 302
-#define FOR 303
-#define FOREIGN 304
-#define FROM 305
-#define FULL 306
-#define GRANT 307
-#define GROUP 308
-#define HAVING 309
-#define HOUR_P 310
-#define IN 311
-#define INNER_P 312
-#define INSERT 313
-#define INTERVAL 314
-#define INTO 315
-#define IS 316
-#define JOIN 317
-#define KEY 318
-#define LANGUAGE 319
-#define LEADING 320
-#define LEFT 321
-#define LIKE 322
-#define LOCAL 323
-#define MATCH 324
-#define MINUTE_P 325
-#define MONTH_P 326
-#define NAMES 327
-#define NATIONAL 328
-#define NATURAL 329
-#define NCHAR 330
-#define NO 331
-#define NOT 332
-#define NOTIFY 333
-#define NULL_P 334
-#define NUMERIC 335
-#define ON 336
-#define OPTION 337
-#define OR 338
-#define ORDER 339
-#define OUTER_P 340
-#define PARTIAL 341
-#define POSITION 342
-#define PRECISION 343
-#define PRIMARY 344
-#define PRIVILEGES 345
-#define PROCEDURE 346
-#define PUBLIC 347
-#define REFERENCES 348
-#define REVOKE 349
-#define RIGHT 350
-#define ROLLBACK 351
-#define SECOND_P 352
-#define SELECT 353
-#define SET 354
-#define SUBSTRING 355
-#define TABLE 356
-#define TIME 357
-#define TIMESTAMP 358
-#define TIMEZONE_HOUR 359
-#define TIMEZONE_MINUTE 360
-#define TO 361
-#define TRAILING 362
-#define TRANSACTION 363
-#define TRIM 364
-#define UNION 365
-#define UNIQUE 366
-#define UPDATE 367
-#define USER 368
-#define USING 369
-#define VALUES 370
-#define VARCHAR 371
-#define VARYING 372
-#define VIEW 373
-#define WHERE 374
-#define WITH 375
-#define WORK 376
-#define YEAR_P 377
-#define ZONE 378
-#define FALSE_P 379
-#define TRIGGER 380
-#define TRUE_P 381
-#define TYPE_P 382
-#define ABORT_TRANS 383
-#define AFTER 384
-#define AGGREGATE 385
-#define ANALYZE 386
-#define BACKWARD 387
-#define BEFORE 388
-#define BINARY 389
-#define CACHE 390
-#define CLUSTER 391
-#define COPY 392
-#define CYCLE 393
-#define DATABASE 394
-#define DELIMITERS 395
-#define DO 396
-#define EACH 397
-#define EXPLAIN 398
-#define EXTEND 399
-#define FORWARD 400
-#define FUNCTION 401
-#define HANDLER 402
-#define INCREMENT 403
-#define INDEX 404
-#define INHERITS 405
-#define INSTEAD 406
-#define ISNULL 407
-#define LANCOMPILER 408
-#define LISTEN 409
-#define LOAD 410
-#define LOCK_P 411
-#define LOCATION 412
-#define MAXVALUE 413
-#define MINVALUE 414
-#define MOVE 415
-#define NEW 416
-#define NONE 417
-#define NOTHING 418
-#define NOTNULL 419
-#define OIDS 420
-#define OPERATOR 421
-#define PROCEDURAL 422
-#define RECIPE 423
-#define RENAME 424
-#define RESET 425
-#define RETURNS 426
-#define ROW 427
-#define RULE 428
-#define SEQUENCE 429
-#define SERIAL 430
-#define SETOF 431
-#define SHOW 432
-#define START 433
-#define STATEMENT 434
-#define STDIN 435
-#define STDOUT 436
-#define TRUSTED 437
-#define VACUUM 438
-#define VERBOSE 439
-#define VERSION 440
-#define ENCODING 441
-#define UNLISTEN 442
-#define ARCHIVE 443
-#define PASSWORD 444
-#define CREATEDB 445
-#define NOCREATEDB 446
-#define CREATEUSER 447
-#define NOCREATEUSER 448
-#define VALID 449
-#define UNTIL 450
-#define IDENT 451
-#define SCONST 452
-#define Op 453
-#define ICONST 454
-#define PARAM 455
-#define FCONST 456
-#define OP 457
-#define UMINUS 458
-#define TYPECAST 459
+#define YYBISON 1 /* Identify Bison output. */
+
+#define ACTION 258
+#define ADD 259
+#define ALL 260
+#define ALTER 261
+#define AND 262
+#define ANY 263
+#define AS 264
+#define ASC 265
+#define BEGIN_TRANS 266
+#define BETWEEN 267
+#define BOTH 268
+#define BY 269
+#define CASCADE 270
+#define CAST 271
+#define CHAR 272
+#define CHARACTER 273
+#define CHECK 274
+#define CLOSE 275
+#define COLLATE 276
+#define COLUMN 277
+#define COMMIT 278
+#define CONSTRAINT 279
+#define CREATE 280
+#define CROSS 281
+#define CURRENT 282
+#define CURRENT_DATE 283
+#define CURRENT_TIME 284
+#define CURRENT_TIMESTAMP 285
+#define CURRENT_USER 286
+#define CURSOR 287
+#define DAY_P 288
+#define DECIMAL 289
+#define DECLARE 290
+#define DEFAULT 291
+#define DELETE 292
+#define DESC 293
+#define DISTINCT 294
+#define DOUBLE 295
+#define DROP 296
+#define END_TRANS 297
+#define EXECUTE 298
+#define EXISTS 299
+#define EXTRACT 300
+#define FETCH 301
+#define FLOAT 302
+#define FOR 303
+#define FOREIGN 304
+#define FROM 305
+#define FULL 306
+#define GRANT 307
+#define GROUP 308
+#define HAVING 309
+#define HOUR_P 310
+#define IN 311
+#define INNER_P 312
+#define INSERT 313
+#define INTERVAL 314
+#define INTO 315
+#define IS 316
+#define JOIN 317
+#define KEY 318
+#define LANGUAGE 319
+#define LEADING 320
+#define LEFT 321
+#define LIKE 322
+#define LOCAL 323
+#define MATCH 324
+#define MINUTE_P 325
+#define MONTH_P 326
+#define NAMES 327
+#define NATIONAL 328
+#define NATURAL 329
+#define NCHAR 330
+#define NO 331
+#define NOT 332
+#define NOTIFY 333
+#define NULL_P 334
+#define NUMERIC 335
+#define ON 336
+#define OPTION 337
+#define OR 338
+#define ORDER 339
+#define OUTER_P 340
+#define PARTIAL 341
+#define POSITION 342
+#define PRECISION 343
+#define PRIMARY 344
+#define PRIVILEGES 345
+#define PROCEDURE 346
+#define PUBLIC 347
+#define REFERENCES 348
+#define REVOKE 349
+#define RIGHT 350
+#define ROLLBACK 351
+#define SECOND_P 352
+#define SELECT 353
+#define SET 354
+#define SUBSTRING 355
+#define TABLE 356
+#define TIME 357
+#define TIMESTAMP 358
+#define TIMEZONE_HOUR 359
+#define TIMEZONE_MINUTE 360
+#define TO 361
+#define TRAILING 362
+#define TRANSACTION 363
+#define TRIM 364
+#define UNION 365
+#define UNIQUE 366
+#define UPDATE 367
+#define USER 368
+#define USING 369
+#define VALUES 370
+#define VARCHAR 371
+#define VARYING 372
+#define VIEW 373
+#define WHERE 374
+#define WITH 375
+#define WORK 376
+#define YEAR_P 377
+#define ZONE 378
+#define FALSE_P 379
+#define TRIGGER 380
+#define TRUE_P 381
+#define TYPE_P 382
+#define ABORT_TRANS 383
+#define AFTER 384
+#define AGGREGATE 385
+#define ANALYZE 386
+#define BACKWARD 387
+#define BEFORE 388
+#define BINARY 389
+#define CACHE 390
+#define CLUSTER 391
+#define COPY 392
+#define CYCLE 393
+#define DATABASE 394
+#define DELIMITERS 395
+#define DO 396
+#define EACH 397
+#define EXPLAIN 398
+#define EXTEND 399
+#define FORWARD 400
+#define FUNCTION 401
+#define HANDLER 402
+#define INCREMENT 403
+#define INDEX 404
+#define INHERITS 405
+#define INSTEAD 406
+#define ISNULL 407
+#define LANCOMPILER 408
+#define LISTEN 409
+#define LOAD 410
+#define LOCK_P 411
+#define LOCATION 412
+#define MAXVALUE 413
+#define MINVALUE 414
+#define MOVE 415
+#define NEW 416
+#define NONE 417
+#define NOTHING 418
+#define NOTNULL 419
+#define OIDS 420
+#define OPERATOR 421
+#define PROCEDURAL 422
+#define RECIPE 423
+#define RENAME 424
+#define RESET 425
+#define RETURNS 426
+#define ROW 427
+#define RULE 428
+#define SEQUENCE 429
+#define SERIAL 430
+#define SETOF 431
+#define SHOW 432
+#define START 433
+#define STATEMENT 434
+#define STDIN 435
+#define STDOUT 436
+#define TRUSTED 437
+#define VACUUM 438
+#define VERBOSE 439
+#define VERSION 440
+#define ENCODING 441
+#define UNLISTEN 442
+#define ARCHIVE 443
+#define PASSWORD 444
+#define CREATEDB 445
+#define NOCREATEDB 446
+#define CREATEUSER 447
+#define NOCREATEUSER 448
+#define VALID 449
+#define UNTIL 450
+#define IDENT 451
+#define SCONST 452
+#define Op 453
+#define ICONST 454
+#define PARAM 455
+#define FCONST 456
+#define OP 457
+#define UMINUS 458
+#define TYPECAST 459
#line 1 "gram.y"
/* -*-text-*- */
@@ -221,7 +221,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.32 1998/09/01 03:24:04 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.33 1998/09/01 04:30:18 momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -261,10 +261,11 @@
#include "mb/pg_wchar.h"
#endif
-static char saved_relname[NAMEDATALEN]; /* need this for complex attributes */
+static char saved_relname[NAMEDATALEN]; /* need this for complex
+ * attributes */
static bool QueryIsRule = FALSE;
static List *saved_In_Expr = NIL;
-static Oid *param_type_info;
+static Oid *param_type_info;
static int pfunc_num_args;
extern List *parsetree;
@@ -280,52 +281,53 @@ static char *xlateSqlFunc(char *);
static char *xlateSqlType(char *);
static Node *makeA_Expr(int oper, char *opname, Node *lexpr, Node *rexpr);
static Node *makeRowExpr(char *opr, List *largs, List *rargs);
-void mapTargetColumns(List *source, List *target);
-static List *makeConstantList( A_Const *node);
+void mapTargetColumns(List *source, List *target);
+static List *makeConstantList(A_Const *node);
static char *FlattenStringList(List *list);
static char *fmtId(char *rawid);
static Node *makeIndexable(char *opname, Node *lexpr, Node *rexpr);
static void param_type_init(Oid *typev, int nargs);
-Oid param_type(int t); /* used in parse_expr.c */
+Oid param_type(int t); /* used in parse_expr.c */
/* old versions of flex define this as a macro */
#if defined(yywrap)
#undef yywrap
-#endif /* yywrap */
+#endif /* yywrap */
#line 88 "gram.y"
typedef union
{
- double dval;
- int ival;
- char chr;
- char *str;
- bool boolean;
- bool* pboolean; /* for pg_shadow privileges */
- List *list;
- Node *node;
- Value *value;
-
- Attr *attr;
-
- TypeName *typnam;
- DefElem *defelt;
- ParamString *param;
- SortGroupBy *sortgroupby;
- JoinUsing *joinusing;
- IndexElem *ielem;
- RangeVar *range;
- RelExpr *relexp;
- A_Indices *aind;
- ResTarget *target;
- ParamNo *paramno;
-
- VersionStmt *vstmt;
- DefineStmt *dstmt;
- RuleStmt *rstmt;
- InsertStmt *astmt;
+ double dval;
+ int ival;
+ char chr;
+ char *str;
+ bool boolean;
+ bool *pboolean; /* for pg_shadow privileges */
+ List *list;
+ Node *node;
+ Value *value;
+
+ Attr *attr;
+
+ TypeName *typnam;
+ DefElem *defelt;
+ ParamString *param;
+ SortGroupBy *sortgroupby;
+ JoinUsing *joinusing;
+ IndexElem *ielem;
+ RangeVar *range;
+ RelExpr *relexp;
+ A_Indices *aind;
+ ResTarget *target;
+ ParamNo *paramno;
+
+ VersionStmt *vstmt;
+ DefineStmt *dstmt;
+ RuleStmt *rstmt;
+ InsertStmt *astmt;
} YYSTYPE;
+
#include <stdio.h>
#ifndef __cplusplus
@@ -336,3710 +338,3713 @@ typedef union
-#define YYFINAL 1576
-#define YYFLAG -32768
-#define YYNTBASE 221
+#define YYFINAL 1576
+#define YYFLAG -32768
+#define YYNTBASE 221
#define YYTRANSLATE(x) ((unsigned)(x) <= 459 ? yytranslate[x] : 477)
-static const short yytranslate[] = { 0,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 219,
- 220, 208, 206, 218, 207, 214, 209, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 211, 212, 204,
- 203, 205, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 215, 2, 216, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 210, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
- 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
- 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
- 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
- 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
- 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
- 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
- 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
- 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, 213, 217
+static const short yytranslate[] = {0,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 219,
+ 220, 208, 206, 218, 207, 214, 209, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 211, 212, 204,
+ 203, 205, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 215, 2, 216, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 210, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2,