# HG changeset patch # User catherine@DellZilla.myhome.westell.com # Date 1207854620 14400 # Node ID 1551db32abff0dd1191bd4919f369edb4738b7f2 # Parent ffd095bf466c31636353e634a9076c3aff96831b do_pull was crashing when object not resolved diff -r ffd095bf466c -r 1551db32abff sqlpyPlus.py --- a/sqlpyPlus.py Thu Apr 10 12:36:49 2008 -0400 +++ b/sqlpyPlus.py Thu Apr 10 15:10:20 2008 -0400 @@ -537,16 +537,17 @@ options, arg = self.pullflags.parse(arg) object_type, owner, object_name = self.resolve(arg.strip(self.terminator).upper()) - self.stdout.write("%s %s.%s\n" % (object_type, owner, object_name)) - self.stdout.write(str(self.curs.callfunc('DBMS_METADATA.GET_DDL', cx_Oracle.CLOB, - [object_type, object_name, owner]))) - if options.has_key('full'): - for dependent_type in ('OBJECT_GRANT', 'CONSTRAINT', 'TRIGGER'): - try: - self.stdout.write(str(self.curs.callfunc('DBMS_METADATA.GET_DEPENDENT_DDL', cx_Oracle.CLOB, - [dependent_type, object_name, owner]))) - except cx_Oracle.DatabaseError: - pass + if object_type and owner and object_name: + self.stdout.write("%s %s.%s\n" % (object_type, owner, object_name)) + self.stdout.write(str(self.curs.callfunc('DBMS_METADATA.GET_DDL', cx_Oracle.CLOB, + [object_type, object_name, owner]))) + if options.has_key('full'): + for dependent_type in ('OBJECT_GRANT', 'CONSTRAINT', 'TRIGGER'): + try: + self.stdout.write(str(self.curs.callfunc('DBMS_METADATA.GET_DEPENDENT_DDL', cx_Oracle.CLOB, + [dependent_type, object_name, owner]))) + except cx_Oracle.DatabaseError: + pass findflags = flagReader.FlagSet([flagReader.Flag('insensitive')]) def do_find(self, arg):