Hi there,
I wrote a tiny patch to prevent psql from overwriting the PROMPT[1-3]
variables with default values after parsing the command line. That way
the prompt can be set from the command line by using:
psql -v PROMPT1=...
The patch is against postgres 7.4.5, but it's so trivial it should be
possible to apply it to CVS without changes.
Cheers,
Ingo
diff -ur postgresql-7.4.5/src/bin/psql/startup.c
postgresql-7.4.5_hack/src/bin/psql/startup.c
--- postgresql-7.4.5/src/bin/psql/startup.c 2003-09-29 20:21:33.000000000 +0200
+++ postgresql-7.4.5_hack/src/bin/psql/startup.c 2004-10-07 01:34:32.656452439
+0200
@@ -280,9 +280,12 @@
}
/* Default values for variables that are used in interactive case */
- SetVariable(pset.vars, "PROMPT1", DEFAULT_PROMPT1);
- SetVariable(pset.vars, "PROMPT2", DEFAULT_PROMPT2);
- SetVariable(pset.vars, "PROMPT3", DEFAULT_PROMPT3);
+ if (!GetVariable(pset.vars, "PROMPT1"))
+ SetVariable(pset.vars, "PROMPT1", DEFAULT_PROMPT1);
+ if (!GetVariable(pset.vars, "PROMPT2"))
+ SetVariable(pset.vars, "PROMPT2", DEFAULT_PROMPT2);
+ if (!GetVariable(pset.vars, "PROMPT3"))
+ SetVariable(pset.vars, "PROMPT3", DEFAULT_PROMPT3);
if (!options.no_psqlrc)
process_psqlrc();
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly