@@ -420,6 +420,7 @@ pkgdb_init(sqlite3 *sdb)
420
420
"gname TEXT,"
421
421
"perm INTEGER,"
422
422
"fflags INTEGER,"
423
+ "mtime INTEGER,"
423
424
"symlink_target TEXT,"
424
425
"package_id INTEGER REFERENCES packages(id) ON DELETE CASCADE"
425
426
" ON UPDATE CASCADE"
@@ -1366,22 +1367,22 @@ static sql_prstmt sql_prepared_statements[PRSTMT_LAST] = {
1366
1367
[FILES ] = {
1367
1368
NULL ,
1368
1369
"INSERT INTO files (path, sha256, uname, gname, "
1369
- "perm, fflags, symlink_target, package_id) "
1370
- "VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8)" ,
1371
- "TTTTIITI " ,
1370
+ "perm, fflags, symlink_target, mtime, package_id) "
1371
+ "VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9 )" ,
1372
+ "TTTTIITII " ,
1372
1373
},
1373
1374
[FILES_REPLACE ] = {
1374
1375
NULL ,
1375
1376
"INSERT OR REPLACE INTO files (path, sha256, uname, gname, "
1376
- "perm, fflags, symlink_target, package_id) "
1377
- "VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8)" ,
1378
- "TTTTIITI " ,
1377
+ "perm, fflags, symlink_target, mtime, package_id) "
1378
+ "VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9 )" ,
1379
+ "TTTTIITII " ,
1379
1380
},
1380
1381
[DIRS1 ] = {
1381
1382
NULL ,
1382
1383
"INSERT OR IGNORE INTO directories(path, uname, gname, perm, fflags) "
1383
1384
"VALUES(?1,?2,?3,?4,?5)" ,
1384
- "TTTII " ,
1385
+ "TTTIII " ,
1385
1386
},
1386
1387
[DIRS2 ] = {
1387
1388
NULL ,
@@ -1770,6 +1771,7 @@ pkgdb_register_pkg(struct pkgdb *db, struct pkg *pkg, int forced,
1770
1771
_pkgdb_empty_str_null (file -> gname ),
1771
1772
file -> perm , file -> fflags ,
1772
1773
_pkgdb_empty_str_null (file -> symlink_target ),
1774
+ file -> time [1 ].tv_sec ,
1773
1775
package_id );
1774
1776
if (ret == SQLITE_DONE )
1775
1777
continue ;
@@ -1792,6 +1794,7 @@ pkgdb_register_pkg(struct pkgdb *db, struct pkg *pkg, int forced,
1792
1794
_pkgdb_empty_str_null (file -> gname ),
1793
1795
file -> perm , file -> fflags ,
1794
1796
_pkgdb_empty_str_null (file -> symlink_target ),
1797
+ file -> time [1 ].tv_sec ,
1795
1798
package_id );
1796
1799
pkgdb_it_free (it );
1797
1800
if (ret == SQLITE_DONE )
@@ -1851,7 +1854,8 @@ pkgdb_register_pkg(struct pkgdb *db, struct pkg *pkg, int forced,
1851
1854
while (pkg_dirs (pkg , & dir ) == EPKG_OK ) {
1852
1855
if (run_prstmt (DIRS1 , dir -> path , _pkgdb_empty_str_null (dir -> uname ),
1853
1856
_pkgdb_empty_str_null (dir -> gname ),
1854
- dir -> perm , dir -> fflags ) != SQLITE_DONE ) {
1857
+ dir -> perm , dir -> fflags ,
1858
+ dir -> time [1 ].tv_sec ) != SQLITE_DONE ) {
1855
1859
ERROR_STMT_SQLITE (s , STMT (DIRS1 ));
1856
1860
goto cleanup ;
1857
1861
}
0 commit comments