162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
|
/*
** Compute name changes from P->V
*/
find_filename_changes(vid, pid, &nChng, &aChng);
if( nChng ){
for(i=0; i<nChng; i++){
db_multi_exec(
"UPDATE fv SET fnp=(SELECT name FROM filename WHERE fnid=%d)"
" WHERE fn=(SELECT name FROM filename WHERE fnid=%d)",
aChng[i*2+1], aChng[i*2]
);
}
fossil_free(aChng);
}
/* Add files found in P
*/
db_multi_exec(
"INSERT OR IGNORE INTO fv(fn,fnp,fnm,idv,idp,idm,ridv,ridp,ridm,chnged)"
" SELECT pathname, pathname, pathname, 0, 0, 0, 0, 0, 0, 0 "
|
>
>
|
|
>
>
|
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
|
/*
** Compute name changes from P->V
*/
find_filename_changes(vid, pid, &nChng, &aChng);
if( nChng ){
for(i=0; i<nChng; i++){
char *z;
z = db_text(0, "SELECT name FROM filename WHERE fnid=%d", aChng[i*2+1]);
db_multi_exec(
"UPDATE fv SET fnp=%Q, fnm=%Q"
" WHERE fn=(SELECT name FROM filename WHERE fnid=%d)",
z, z, aChng[i*2]
);
free(z);
}
fossil_free(aChng);
db_multi_exec("UPDATE fv SET fnm=fnp WHERE fnp!=fn");
}
/* Add files found in P
*/
db_multi_exec(
"INSERT OR IGNORE INTO fv(fn,fnp,fnm,idv,idp,idm,ridv,ridp,ridm,chnged)"
" SELECT pathname, pathname, pathname, 0, 0, 0, 0, 0, 0, 0 "
|