Paul Mason wrote:
If by "command terminator" you mean "thing that causes the current SQL to execute" then no that's not what ";" does. What ";" does is separate SQL commands. \g (or \go) executes the current command buffer. If you want to have more than one SQL command in your buffer then you need to separate them with ";"s
Right - I guess I wasn't very clear (again, sorry). For most folk coming to Ingres from other databases this '\go' send buffer business is weird.
For instance, taking the usual suspects (Postgres, Mysql, Firebird): their basic client uses ';' to separate the statements, and they are executed as each ';' is encountered. In a script setting this is still true and the client knows no more commands are coming when EOF is encountered.
Now I know that folks are going to say "'sql' works its own way and there is nothing wrong with it". I guess I'm saying "Ingres needs a command line client that works similarly to the main open source competitors".
There are other good reasons for this too: Where I used to work they built web apps for customers and quite often re-used schema scripts. It was very handy that scripts written against (say) Mysql could often be run on Postgres or Firebird or even DB2 and SQLServer without modification (demos could be easily run on customers database software). Now sure, is some cases there where syntax will be incompatible - but they would have got might annoyed to have to add '\go' to the tail of there scripts for Ingres, and take it off for everything else!
Cheers Mark _______________________________________________ Users mailing list Users@lists.ingres.com http://lists.ingres.com/mailman/listinfo/users