static unsigned alter_add_column(LibmsiAlterView *av) { unsigned r, colnum = 1; LibmsiQuery *view; LibmsiView *columns; static const char szColumns[] = "_Columns"; static const char query[] = "SELECT * FROM `_Columns` WHERE `Table`='%s' ORDER BY `Number`"; r = table_view_create(av->db, szColumns, &columns); if (r != LIBMSI_RESULT_SUCCESS) return r; if (check_column_exists(av->db, av->colinfo->table, av->colinfo->column)) { columns->ops->delete(columns); return LIBMSI_RESULT_BAD_QUERY_SYNTAX; }
static UINT alter_add_column(MSIALTERVIEW *av) { UINT r, colnum = 1; MSIQUERY *view; MSIVIEW *columns; static const WCHAR szColumns[] = {'_','C','o','l','u','m','n','s',0}; static const WCHAR query[] = { 'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ', '`','_','C','o','l','u','m','n','s','`',' ','W','H','E','R','E',' ', '`','T','a','b','l','e','`','=','\'','%','s','\'',' ','O','R','D','E','R',' ', 'B','Y',' ','`','N','u','m','b','e','r','`',0 }; r = TABLE_CreateView(av->db, szColumns, &columns); if (r != ERROR_SUCCESS) return r; if (check_column_exists(av->db, av->colinfo->table, av->colinfo->column)) { columns->ops->delete(columns); return ERROR_BAD_QUERY_SYNTAX; }