summaryrefslogtreecommitdiff
path: root/ext/dba/dba_db2.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/dba/dba_db2.c')
-rw-r--r--ext/dba/dba_db2.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/dba/dba_db2.c b/ext/dba/dba_db2.c
index d544c83b8b..a8760eeb86 100644
--- a/ext/dba/dba_db2.c
+++ b/ext/dba/dba_db2.c
@@ -53,6 +53,10 @@ DBA_OPEN_FUNC(db2)
struct stat check_stat;
int s = VCWD_STAT(info->path, &check_stat);
+ if (!s && !check_stat.st_size) {
+ info->mode = DBA_TRUNC; /* force truncate */
+ }
+
type = info->mode == DBA_READER ? DB_UNKNOWN :
info->mode == DBA_TRUNC ? DB_BTREE :
s ? DB_BTREE : DB_UNKNOWN;