[Bucardo-general] [SOLVED] b5 / pg84 : "arguments of row IN must all be row expressions"

Bill McGonigle bill at bfccomputing.com
Wed Sep 19 20:26:15 UTC 2012


On 09/19/2012 03:39 PM, Bill McGonigle wrote:
> 
> Will see where that's generated next...

I didn't quite figure out the code but I got far enough to understand what was happening.  I think this is probably a reportable bug in b5.

The data looked like:

# select * from related where parent_id = '3826';
 parent_id | child_id | child_seq |  type   
-----------+----------+-----------+---------
 3826      | 1796     |         0 | PRODUCT
 3826      | 3483     |         1 | PRODUCT
 3826      | 7599     |         2 | PRODUCT
 3826      | 3667     |         3 | PRODUCT
 3826      | 1859     |         4 | PRODUCT
 3826      |          |         5 | PRODUCT
 3826      | 5        |         0 | RECIPE
 3826      | 25       |         1 | RECIPE
 3826      | 128      |         2 | RECIPE
(9 rows)


and the not-a-tuple it was choking on in the IN set was ('3826').

The table is defined as:

                           Table "public.related"
  Column   |         Type          |               Modifiers                
-----------+-----------------------+----------------------------------------
 parent_id | character varying(15) | not null default ''::character varying
 child_id  | character varying(15) | not null default ''::character varying
...

So, ('3826','') does satisfy the constraints, but b5 seems to have lost the '' along the way.

Since that row wasn't semantically meaningful for us, the recovery procedure was:

1) delete the offending row in the source db:

  DELETE FROM public.related WHERE parent_id = '3826' AND child_id='';

2) delete the same row(s) in bucardo.delta_public_related

  DELETE FROM bucardo.public_related WHERE parent_id = '3826' AND child_id='';

And then restart bucardo (probably not needed).

I must say, the new b5 structure makes troubleshooting and resolution much easier!  (along with everything else working so much faster and better)

-Bill


-- 
Bill McGonigle, Owner   
BFC Computing, LLC       
http://bfccomputing.com/ 
Telephone: +1.855.SW.LIBRE
Email, IM, VOIP: bill at bfccomputing.com           
VCard: http://bfccomputing.com/vcard/bill.vcf
Social networks: bill_mcgonigle/bill.mcgonigle


More information about the Bucardo-general mailing list