Even more so if the 'currval(void) called before nextval(seq_name)' error message could be supressed by a GUC variable and return 0 instead.
I don't think that's a good idea at all. It seems unnecessary, it complicates the definition of the operation, and worse, "0" is a valid return value for currval(), so it would also be ambiguous.
-Neil
---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match