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 = ""
|