Project

General

Profile

« Previous | Next » 

Revision 3035

sql.py: cast_temp_col(): Handle column name collisions like add_index_col()

View differences:

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