Revision 3035
Added by Aaron Marcuse-Kubitza over 12 years ago
lib/sql.py | ||
---|---|---|
1141 | 1141 |
table = col.table |
1142 | 1142 |
new_col = sql_gen.Col(sql_gen.concat(col.name, '::'+type_), table, col.srcs) |
1143 | 1143 |
expr = cast_(col) |
1144 |
add_col(db, table, sql_gen.TypedCol(new_col.name, type_)) |
|
1144 |
|
|
1145 |
# Add column |
|
1146 |
while True: |
|
1147 |
new_typed_col = sql_gen.TypedCol(new_col.name, type_) |
|
1148 |
try: |
|
1149 |
add_col(db, table, new_typed_col, |
|
1150 |
log_ignore_excs=(DuplicateException,)) |
|
1151 |
break |
|
1152 |
except DuplicateException: |
|
1153 |
new_col.name = next_version(new_col.name) |
|
1154 |
# try again with next version of name |
|
1155 |
|
|
1145 | 1156 |
update(db, table, [(new_col, expr)]) |
1146 | 1157 |
add_index(db, new_col) |
1147 | 1158 |
|
Also available in: Unified diff
sql.py: cast_temp_col(): Handle column name collisions like add_index_col()