Mercurial > repos > yufei-luo > s_mart
comparison SMART/Java/Python/mySql/MySqlConnection.py @ 18:94ab73e8a190
Uploaded
| author | m-zytnicki | 
|---|---|
| date | Mon, 29 Apr 2013 03:20:15 -0400 | 
| parents | 769e306b7933 | 
| children | 
   comparison
  equal
  deleted
  inserted
  replaced
| 17:b0e8584489e6 | 18:94ab73e8a190 | 
|---|---|
| 37 class MySqlConnection(object): | 37 class MySqlConnection(object): | 
| 38 """Connection to a database""" | 38 """Connection to a database""" | 
| 39 | 39 | 
| 40 def __init__(self, verbosity = 0): | 40 def __init__(self, verbosity = 0): | 
| 41 self.verbosity = verbosity | 41 self.verbosity = verbosity | 
| 42 self.databaseName = "%s%ssmartdb%d" % (os.environ.get("SMARTTMPPATH", "."), os.sep, random.randint(0, 100000)) | 42 self.databaseName = os.path.join(os.environ.get("SMARTTMPPATH", "."), "smartdb%d" % random.randint(0, 100000)) | 
| 43 self.connection = sqlite3.connect(self.databaseName) | 43 self.connection = sqlite3.connect(self.databaseName) | 
| 44 self.executeQuery("PRAGMA journal_mode = OFF") | 44 self.executeQuery("PRAGMA journal_mode = OFF") | 
| 45 self.executeQuery("PRAGMA synchronous = 0") | 45 self.executeQuery("PRAGMA synchronous = 0") | 
| 46 self.executeQuery("PRAGMA locking_mode = EXCLUSIVE") | 46 self.executeQuery("PRAGMA locking_mode = EXCLUSIVE") | 
| 47 self.executeQuery("PRAGMA count_change = OFF") | 47 self.executeQuery("PRAGMA count_change = OFF") | 
| 86 for cpt, command in enumerate(commands): | 86 for cpt, command in enumerate(commands): | 
| 87 query.execute(command) | 87 query.execute(command) | 
| 88 self.connection.commit() | 88 self.connection.commit() | 
| 89 | 89 | 
| 90 | 90 | 
| 91 def executeManyFormattedQueries(self, command, lines, insertion = False): | |
| 92 cursor = self.connection.cursor() | |
| 93 query = MySqlQuery(cursor, self.verbosity) | |
| 94 for line in lines: | |
| 95 result = query.executeFormat(command, line) | |
| 96 self.connection.commit() | |
| 97 if insertion: | |
| 98 return result | |
| 99 else: | |
| 100 return query | |
| 101 | |
| 102 | |
| 91 def executeManyQueriesIterator(self, table): | 103 def executeManyQueriesIterator(self, table): | 
| 92 cursor = self.connection.cursor() | 104 cursor = self.connection.cursor() | 
| 93 query = MySqlQuery(cursor, self.verbosity) | 105 query = MySqlQuery(cursor, self.verbosity) | 
| 94 try: | 106 try: | 
| 95 for command in table.getIterator(): | 107 for command in table.getIterator(): | 
| 99 for command in table.getIterator(): | 111 for command in table.getIterator(): | 
| 100 query.execute(command) | 112 query.execute(command) | 
| 101 self.connection.commit() | 113 self.connection.commit() | 
| 102 | 114 | 
| 103 | 115 | 
| 104 def executeFormattedQuery(self, command, *parameters): | 116 def executeManyFormattedQueriesIterator(self, table): | 
| 105 cursor = self.connection.cursor() | 117 cursor = self.connection.cursor() | 
| 106 query = MySqlQuery(cursor, self.verbosity) | 118 query = MySqlQuery(cursor, self.verbosity) | 
| 107 query.executeFormat(command, parameters) | 119 try: | 
| 120 for command, values in table.getIterator(): | |
| 121 query.executeFormat(command, values) | |
| 122 self.connection.commit() | |
| 123 except: | |
| 124 for command, values in table.getIterator(): | |
| 125 query.execute(command, values) | |
| 126 self.connection.commit() | |
| 127 | |
| 128 | |
| 129 def executeFormattedQuery(self, command, parameters, insertion = False): | |
| 130 cursor = self.connection.cursor() | |
| 131 query = MySqlQuery(cursor, self.verbosity) | |
| 132 result = query.executeFormat(command, parameters) | |
| 108 self.connection.commit() | 133 self.connection.commit() | 
| 109 return query | 134 if insertion: | 
| 135 return result | |
| 136 else: | |
| 137 return query | 
