Changeset 31470 for trunk/ippToPsps/jython/mysql.py
- Timestamp:
- May 6, 2011, 12:43:46 PM (15 years ago)
- File:
-
- 1 edited
-
trunk/ippToPsps/jython/mysql.py (modified) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippToPsps/jython/mysql.py
r31401 r31470 37 37 self.url = "jdbc:mysql://"+self.dbHost+"/"+self.dbName+"?user="+self.dbUser+"&password="+self.dbPass 38 38 self.con = DriverManager.getConnection(self.url) 39 self.stmt = self.con.createStatement() 39 self.connectionID = self.getLastConnectionID() 40 self.logger.info("MySQL connection to %s with ID %d" % (dbType, self.connectionID)) 41 42 #self.stmt = self.con.createStatement() 43 44 45 ''' 46 Disconnect from database 47 ''' 48 def disconnect(self): 49 self.con.close() 40 50 41 51 ''' … … 45 55 46 56 self.logger.debug("MySql destructor") 47 self.stmt.close() 48 self.con.close() 57 self.disconnect() 58 59 ''' 60 Kills the last connection ID, so long as it's not THIS connection ID 61 ''' 62 def killLastConnectionID(self): 63 64 connectionID = self.getLastConnectionID() 65 if connectionID == self.connectionID: 66 self.logger.error("NOT going to kill THIS connection ID") 67 return 68 69 sql = "KILL %d" % connectionID 70 self.execute(sql) 71 72 ''' 73 Gets the last connection ID 74 ''' 75 def getLastConnectionID(self): 76 77 sql = "SELECT ID \ 78 FROM INFORMATION_SCHEMA.PROCESSLIST \ 79 WHERE DB='" + self.dbName + "' \ 80 ORDER BY ID" 81 rs = self.executeQuery(sql) 82 rs.last() 83 return rs.getInt(1) 49 84 50 85 ''' … … 54 89 55 90 sql = "UPDATE " + table + " SET " + column + " = " + value 56 self. stmt.execute(sql)91 self.execute(sql) 57 92 58 93 ''' … … 62 97 63 98 sql = "DROP TABLE " + table 64 try: self. stmt.execute(sql)99 try: self.execute(sql) 65 100 except: return 66 101 … … 74 109 sql = "ALTER TABLE " + table + " ADD UNIQUE (" + column + ")" 75 110 try: 76 self. stmt.execute(sql)111 self.execute(sql) 77 112 except: pass 78 113 #self.logger.warn("Index already in place on '" + column + "' for table '" + table + "'") … … 82 117 def createIndex(self, table, column): 83 118 84 self.logger.debug("Creating index on column '"+column+"' for table '"+table+"'")119 #self.logger.debug("Creating index on column '"+column+"' for table '"+table+"'") 85 120 86 121 sql = "CREATE INDEX "+table+"_"+column+"_index ON "+table+" ("+column+")" 87 122 try: 88 self. stmt.execute(sql)123 self.execute(sql) 89 124 except: pass 90 125 #self.logger.warn("Index already in place on '" + column + "' for table '" + table + "'") 126 ''' 127 TODO 128 ''' 129 def execute(self, sql): 130 131 stmt = self.con.createStatement() 132 stmt.execute(sql) 133 stmt.close() 134 135 ''' 136 TODO 137 ''' 138 def executeQuery(self, sql): 139 140 stmt = self.con.createStatement() 141 rs = stmt.executeQuery(sql) 142 #stmt.close() 143 return rs 91 144 92 145 ''' … … 96 149 97 150 sql = "SHOW COLUMNS FROM " + tableName 98 rs = self. stmt.executeQuery(sql)151 rs = self.executeQuery(sql) 99 152 columns = [] 100 153 while (rs.next()): columns.append(rs.getString(1)) … … 109 162 110 163 sql = "UPDATE " + tableName + " SET " + column + " = " + sub + " WHERE " + column + " IS NULL" 111 self. stmt.execute(sql)164 self.execute(sql) 112 165 113 166 ''' … … 123 176 124 177 sql = "UPDATE " + tableName + " SET " + column + " = " + sub + " WHERE " + column + " IS NULL" 125 self. stmt.execute(sql)178 self.execute(sql) 126 179 127 180 ''' … … 131 184 132 185 sql = "SELECT COUNT(*) FROM " + tableName + " WHERE " + columnName + " = " + value 133 rs = self. stmt.executeQuery(sql)186 rs = self.executeQuery(sql) 134 187 rs.first() 135 nBad Flux= rs.getInt(1)136 self.logger.info("% d NULL %s values in table %s. Deleting." % (nBadFlux, columnName, tableName))188 nBad = rs.getInt(1) 189 self.logger.info("%5d NULL %s values in table %s. Deleting." % (nBad, columnName, tableName)) 137 190 138 191 sql="DELETE from " + tableName + " WHERE " + columnName + " = " + value 139 self. stmt.execute(sql)192 self.execute(sql) 140 193 141 194 ''' … … 145 198 146 199 sql = "SELECT COUNT(*) FROM " + tableName + " WHERE " + columnName + " IS NULL" 147 rs = self. stmt.executeQuery(sql)200 rs = self.executeQuery(sql) 148 201 rs.first() 149 nBad Flux= rs.getInt(1)150 self.logger.info("% d NULL %s values in table %s. Deleting." % (nBadFlux, columnName, tableName))202 nBad = rs.getInt(1) 203 self.logger.info("%5d NULL %s values in table %s. Deleting." % (nBad, columnName, tableName)) 151 204 152 205 sql="DELETE from " + tableName + " WHERE " + columnName + " IS NULL" 153 self. stmt.execute(sql)206 self.execute(sql) 154 207 155 208 ''' … … 160 213 # first, count rows 161 214 sql = "SELECT COUNT(*) FROM " + tableName 162 rs = self. stmt.executeQuery(sql)215 rs = self.executeQuery(sql) 163 216 rs.first() 164 217 numRows = rs.getInt(1) … … 175 228 176 229 sql = "SELECT COUNT(*) FROM " + tableName + " WHERE " + column + " IS NULL" 177 rs = self. stmt.executeQuery(sql)230 rs = self.executeQuery(sql) 178 231 rs.first() 179 232 if rs.getInt(1) == numRows: … … 191 244 sql = "SELECT COUNT(*) FROM " + table 192 245 try: 193 rs = self. stmt.executeQuery(sql)246 rs = self.executeQuery(sql) 194 247 rs.first() 195 248 return rs.getInt(1)
Note:
See TracChangeset
for help on using the changeset viewer.
