Tom Lane <[EMAIL PROTECTED]> writes: > I fear you'll have to actually reverse-compile the conbin strings and see if > you get a match.
There seems to be something I'm missing wrt the conbin string. I have a table here with a simple check constraint: Table "public.a" Column | Type | Modifiers --------+---------+----------- i | integer | Check constraints: "x" CHECK (i = 0) But when I loop around looking at the constraints the conbin text field has an empty string in it: (gdb) p *con $2 = {conname = {data = "x", '\0' <repeats 62 times>, alignmentDummy = 120}, connamespace = 2200, contype = 99 'c', condeferrable = 0 '\0', condeferred = 0 '\0', conrelid = 24661, contypid = 0, confrelid = 0, confupdtype = 32 ' ', confdeltype = 32 ' ', confmatchtype = 32 ' ', conkey = {26}, confkey = {0}, conbin = {vl_len = 1, vl_dat = ""}, consrc = { vl_len = 21, vl_dat = "\001"}} And when I call pg_get_expr with: consrc = DirectFunctionCall2(pg_get_expr, PointerGetDatum(&con->conbin), ObjectIdGetDatum(con->conrelid)); I get: ERROR: invalid memory alloc request size 4294967294 -- greg ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster