(self)
| 134 | self.cursor.execute('drop table %s' % (self.table)) |
| 135 | |
| 136 | def test_truncation(self): |
| 137 | columndefs = ( 'col1 INT', 'col2 VARCHAR(255)') |
| 138 | def generator(row, col): |
| 139 | if col == 0: return row |
| 140 | else: return ('{:d}'.format(row%10))*(round(255-self.rows/2)+row) |
| 141 | self.create_table(columndefs) |
| 142 | insert_statement = ('INSERT INTO %s VALUES (%s)' % |
| 143 | (self.table, |
| 144 | ','.join(['{!s}'] * len(columndefs)))) |
| 145 | |
| 146 | try: |
| 147 | self.cursor.execute(insert_statement, (0, '0'*256)) |
| 148 | except self.connection.DataError: |
| 149 | pass |
| 150 | else: |
| 151 | self.fail("Over-long column did not generate warnings/exception with single insert") |
| 152 | |
| 153 | self.connection.rollback() |
| 154 | |
| 155 | try: |
| 156 | for i in range(self.rows): |
| 157 | data = [] |
| 158 | for j in range(len(columndefs)): |
| 159 | data.append(generator(i,j)) |
| 160 | self.cursor.execute(insert_statement,tuple(data)) |
| 161 | except self.connection.DataError: |
| 162 | pass |
| 163 | else: |
| 164 | self.fail("Over-long columns did not generate warnings/exception with execute()") |
| 165 | |
| 166 | self.connection.rollback() |
| 167 | |
| 168 | try: |
| 169 | data = [ [ generator(i,j) for j in range(len(columndefs)) ] |
| 170 | for i in range(self.rows) ] |
| 171 | self.cursor.executemany(insert_statement, data) |
| 172 | except self.connection.DataError: |
| 173 | pass |
| 174 | else: |
| 175 | self.fail("Over-long columns did not generate warnings/exception with executemany()") |
| 176 | |
| 177 | self.connection.rollback() |
| 178 | self.cursor.execute('drop table %s' % (self.table)) |
| 179 | |
| 180 | def test_CHAR(self): |
| 181 | # Character data |
nothing calls this directly
no test coverage detected