check (not (filetype = 'h' and target is null)),
check (target is null or length(target) between 1 and 4095),
check (hash is null or length(hash) between 1 and 1024),
+ check (path not in ('.', '..')),
check (not (filetype = 'r' and hash is null)),
check (not (filetype = 'c' and device is null)),
check (not (filetype = 'b' and device is null)),
create index packagefile_package_index on packagefiles (package);
create index packagefile_path_index on packagefiles (path);
create index packagefile_hash_index on packagefiles (hash);
+create index pkgfile_configuration on packagefiles (configuration) where configuration = 1;
create view packagefiles_pkgid as
select printf('%s-%s-%s', package, version, release) as pkgid, *,