"Rob Richardson" <Rob.Richardson@xxxxxxxxxxx> writes: > I just discovered the existence of a couple of functions I don't > understand in one customer's PostgreSQL database: What do the substitute output functions do differently? > UPDATE pg_type SET typoutput='c_textout' WHERE typname='SET'; This one has been a no-op since 7.4, because there is no longer any such row in pg_type; and I'm pretty sure the row was vestigial long before that. If the underlying code is old enough that it was designed when changing that row did something interesting, it certainly all needs a fresh look anyway... > Are these functions really as innocuous as he claims? It seems to me > that between the time c_mode() is called and the time that pg_mode() is > called, any other database access is likely to be confused. Yes, you definitely are taking big risks there. Aside from the question of how data appears to the client, this could bollix the behavior of most PL languages too. regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general