VACUUM ANALYZE Problem (debugging output)

From: James Hughes <jamesh(at)interpath(dot)com>
To: PgSQL Hackers <hackers(at)postgreSQL(dot)org>
Subject: VACUUM ANALYZE Problem (debugging output)
Date: 1998-02-02 04:54:21
Message-ID: Pine.LNX.3.93.980201233608.15708A-100000@xport.bluewall.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Here is what I've been able to get so far. I don't see anything obvious.
But then, I don't really know what I'm looking for. One thing I do see
is that "pg_statistic" shows up in both situations ("\d city" and
"\dS").

If anyone can make sense of this and point me in the right direction...

-James

BTW: This is the 1-31 cvs tree

#0 0x400a9369 in __kill ()
#1 0x810a0a6 in elog (lev=-1,
fmt=0x813f1c8 "fmgr_info: function %d: cache lookup failed\n")
at elog.c:180
#2 0x810ac89 in fmgr_info (procedureId=0, finfo=0xbfffd5f4) at fmgr.c:179
#3 0x810ae0d in fmgr (procedureId=0) at fmgr.c:272
#4 0x806c080 in heapgettup (relation=0x81c6be8, tid=0x0, dir=1, b=0x827250c,
seeself=0 '\000', nkeys=3, key=0x8272550) at heapam.c:422

The code turns into a string of macros after this and I have problems
tracing it. I dumped as much information as I could from this frame...

(gdb) i arg
relation = 0x81c6be8
tid = 0x0
dir = 1
b = (Buffer *) 0x827250c
seeself = 0 '\000'
nkeys = 3
key = 0x8272550

(gdb) i loc
__isnull = 0 '\000'
__atp = 0
__test = 0
__cur_nkeys = 2
__cur_keys = 0x8272550
_tuple = 0x4017ac78
_res = 1 '\001'
tid = 0x0
seeself = 0 '\000'
lpp = 0x40178cd0
dp = 0x40178cc8 "4"
page = 0
pages = 1
lines = 1075293304
rtup = 0x0
lineoff = 0
linesleft = 10

(gdb) p *__cur_keys
$165 = {sk_flags = 0, sk_attno = 1, sk_procedure = 184, sk_func = {
fn_addr = 0, fn_plhandler = 0, fn_oid = 0, fn_nargs = 0}, sk_nargs =
0, sk_argument = 1249}

(gdb) p *_tuple
$166 = {t_len = 76, t_oid = 39712, t_cmin = 0, t_cmax = 0, t_xmin =
23647, t_xmax = 0, t_ctid = {ip_blkid = {bi_hi = 0, bi_lo = 0}, ip_posid =
1}, t_natts = 5, t_infomask = 2050, t_hoff = 40 '(', t_bits =
"\000\000\000"}

(gdb) p *lpp
$167 = {lp_off = 8112, lp_flags = 1, lp_len = 76}

(gdb) p *relation
$159 = {rd_fd = 16, rd_nblocks = 1, rd_refcnt = 44, rd_islocal = 0 '\000',
rd_isnailed = 0 '\000', rd_istemp = 0 '\000', rd_tmpunlinked = 0 '\000',
rd_am = 0x0, rd_rel = 0x81c6ae8, rd_id = 16577, lockInfo = 0x81c6d40 "\001",
rd_att = 0x81c6b40, rd_rules = 0x0, rd_istrat = 0x0, rd_support = 0x0,
trigdesc = 0x0}

(gdb) p *relation.rd_rel
$160 = {relname = {data = "pg_statistic", '\000' <repeats 19 times>},
reltype = 0, relowner = 406, relam = 0, relpages = 0, reltuples = 0,
relhasindex = 0 '\000', relisshared = 0 '\000', relkind = 114 'r',
relnatts = 5, relchecks = 0, reltriggers = 0, relhasrules = 0 '\000',
relacl = {2}}

(gdb) p *relation.rd_att
$161 = {natts = 5, attrs = 0x81c6a68, constr = 0x0}

(gdb) p **relation.rd_att.attrs
$163 = {attrelid = 16577, attname = {
data = "starelid", '\000' <repeats 23 times>}, atttypid = 26,
attdisbursion = 0, attlen = 4, attnum = 1, attnelems = 0, attcacheoff = 0,
atttypmod = 0, attbyval = 1 '\001', attisset = 0 '\000',
attalign = 0 '\000', attnotnull = 0 '\000', atthasdef = 0 '\000'}

(gdb) p *key
$164 = {sk_flags = 0, sk_attno = 1, sk_procedure = 184, sk_func = {
fn_addr = 0, fn_plhandler = 0, fn_oid = 0, fn_nargs = 0}, sk_nargs = 0,
sk_argument = 1249}

#5 0x806c841 in heap_getnext (scandesc=0x82724f8, backw=0, b=0x0)
at heapam.c:968
#6 0x8101285 in gethilokey (relid=1249, attnum=6, opid=520, high=0xbfffd720,
low=0xbfffd724) at selfuncs.c:353
#7 0x8100eee in intltsel (opid=520, relid=1249, attno=6, value=0, flag=3)
at selfuncs.c:113
#8 0x8101030 in intgtsel (opid=520, relid=1249, attno=6, value=0, flag=3)
at selfuncs.c:176
#9 0x810ab38 in fmgr_c (finfo=0xbfffd798, values=0xbfffd7a8,
isNull=0xbfffd797 "") at fmgr.c:115
#10 0x810ae53 in fmgr (procedureId=104) at fmgr.c:285
#11 0x80bbe38 in restriction_selectivity (functionObjectId=104,
operatorObjectId=520, relationObjectId=1249, attributeNumber=6,
constValue=0x0, constFlag=3) at plancat.c:344
#12 0x80b37e9 in compute_selec (root=0x826b980, clauses=0x8272478,
or_selectivities=0x0) at clausesel.c:319
#13 0x80b36ab in compute_clause_selec (root=0x826b980, clause=0x826fef8,
or_selectivities=0x0) at clausesel.c:199
#14 0x80b7ddc in add_clause_to_rels (root=0x826b980, clause=0x826fef8)
at initsplan.c:214
#15 0x80b7d2a in initialize_base_rels_jinfo (root=0x826b980, clauses=0x82700b0)
at initsplan.c:154
#16 0x80b82cb in subplanner (root=0x826b980, flat_tlist=0x8270190,
qual=0x82700b0) at planmain.c:249
#17 0x80b820b in query_planner (root=0x826b980, command_type=1,
tlist=0x826dd90, qual=0x826fe98) at planmain.c:168
#18 0x80b8842 in planner (parse=0x826b980) at planner.c:110
#19 0x80e5db4 in pg_parse_and_plan (
query_string=0xbfffda08 "SELECT a.attnum, a.attname, t.typname, a.attlen, a.atttypmod, a.attnotnull, a.atthasdef FROM pg_class c, pg_attribute a, pg_type t WHERE c.relname = 'city' and a.attnum > 0 and a.attrelid = c.o"...,
typev=0x0, nargs=0, queryListP=0xbfffd9a8, dest=Remote) at postgres.c:534
#20 0x80e5eb2 in pg_exec_query_dest (
query_string=0xbfffda08 "SELECT a.attnum, a.attname, t.typname, a.attlen, a.atttypmod, a.attnotnull, a.atthasdef FROM pg_class c, pg_attribute a, pg_type t WHERE c.relname = 'city' and a.attnum > 0 and a.attrelid = c.o"...,
argv=0x0, typev=0x0, nargs=0, dest=Remote) at postgres.c:615
#21 0x80e5e80 in pg_exec_query (
query_string=0xbfffda08 "SELECT a.attnum, a.attname, t.typname, a.attlen, a.atttypmod, a.attnotnull, a.atthasdef FROM pg_class c, pg_attribute a, pg_type t WHERE c.relname = 'city' and a.attnum > 0 and a.attrelid = c.o"...,
argv=0x0, typev=0x0, nargs=0) at postgres.c:597
#22 0x80e6c81 in PostgresMain (argc=9, argv=0xbffffa48) at postgres.c:1373
#23 0x80a91ed in main (argc=9, argv=0xbffffa48) at main.c:79
#24 0x806014e in _start ()

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1998-02-02 05:08:37 Re: [HACKERS] VACUUM ANALYZE Problem (debugging output)
Previous Message Thomas G. Lockhart 1998-02-02 02:40:12 Re: [HACKERS] Variable block size...