From: brian z. <bz...@us...> - 2002-01-07 05:00:15
|
Update of /cvsroot/jython/jython/Lib In directory usw-pr-cvs1:/tmp/cvs-serv19120/Lib Modified Files: isql.py Log Message: added update count status Index: isql.py =================================================================== RCS file: /cvsroot/jython/jython/Lib/isql.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** isql.py 2001/11/20 04:55:18 1.1 --- isql.py 2002/01/07 05:00:12 1.2 *************** *** 10,13 **** --- 10,15 ---- __version__ = "$Revision$"[11:-2] + class IsqlExit(Exception): pass + class Prompt: """ *************** *** 63,69 **** """\nPrints table meta-data. If no table name, prints all tables.\n""" if len(arg.strip()): ! apply(self.db.table, (arg,), self.kw) else: ! apply(self.db.table, (None,), self.kw) return None --- 65,71 ---- """\nPrints table meta-data. If no table name, prints all tables.\n""" if len(arg.strip()): ! self.db.table(arg, **self.kw) else: ! self.db.table(None, **self.kw) return None *************** *** 71,77 **** """\nPrints store procedure meta-data.\n""" if len(arg.strip()): ! apply(self.db.proc, (arg,), self.kw) else: ! apply(self.db.proc, (None,), self.kw) return None --- 73,79 ---- """\nPrints store procedure meta-data.\n""" if len(arg.strip()): ! self.db.proc(arg, **self.kw) else: ! self.db.proc(None, **self.kw) return None *************** *** 95,98 **** --- 97,109 ---- def do_set(self, arg): """\nSet a parameter. Some examples:\n set owner = 'informix'\n set types = ['VIEW', 'TABLE']\nThe right hand side is evaluated using `eval()`\n""" + if len(arg.strip()) == 0: + items = self.kw.items() + if len(items): + print + # format the results but don't include how many rows affected + for a in dbexts.console(items, ("key", "value"))[:-1]: + print a + print + return None d = filter(lambda x: len(x) > 0, map(lambda x: x.strip(), arg.split("="))) if len(d) == 1: *************** *** 112,117 **** self.sqlbuffer.append(token[:-1 * len(self.delimiter)]) if self.sqlbuffer: ! self.db.isql(" ".join(self.sqlbuffer)) self.sqlbuffer = [] return None if token: --- 123,135 ---- self.sqlbuffer.append(token[:-1 * len(self.delimiter)]) if self.sqlbuffer: ! self.db.isql(" ".join(self.sqlbuffer), **self.kw) self.sqlbuffer = [] + if self.db.updatecount: + print + if self.db.updatecount == 1: + print "1 row affected" + else: + print "%d rows affected" % (self.db.updatecount) + print return None if token: *************** *** 125,128 **** --- 143,149 ---- return None + def postloop(self): + raise IsqlExit() + if __name__ == '__main__': import getopt *************** *** 143,145 **** intro = "\nisql - interactive sql (%s)\n" % (__version__) ! IsqlCmd(dbname).cmdloop(intro) --- 164,176 ---- intro = "\nisql - interactive sql (%s)\n" % (__version__) ! isql = IsqlCmd(dbname) ! while 1: ! try: ! isql.cmdloop(intro) ! except IsqlExit, e: ! break ! except Exception, e: ! print ! print e ! print ! intro = "" |