Browse Source

Bump bulkdata database version to 3

tags/nilmdb-1.4.0
Jim Paris 11 years ago
parent
commit
1835d03412
1 changed files with 6 additions and 16 deletions
  1. +6
    -16
      nilmdb/server/bulkdata.py

+ 6
- 16
nilmdb/server/bulkdata.py View File

@@ -260,7 +260,7 @@ class Table(object):
fmt = { "rows_per_file": rows_per_file,
"files_per_dir": files_per_dir,
"layout": layout,
"version": 2 }
"version": 3 }
with open(os.path.join(root, "_format"), "wb") as f:
pickle.dump(fmt, f, 2)

@@ -273,21 +273,11 @@ class Table(object):
with open(os.path.join(self.root, "_format"), "rb") as f:
fmt = pickle.load(f)

if fmt["version"] == 1: # pragma: no cover
# We can handle this old version by converting from
# struct_fmt back to layout name.
compat = { "<dHHHHHH": "uint16_6",
"<dHHHHHHHHH": "uint16_9",
"<dffffffff": "float32_8" }
if fmt["struct_fmt"] in compat:
fmt["version"] = 2
fmt["layout"] = compat[fmt["struct_fmt"]]
else:
raise NotImplementedError("old version 1 data with format "
+ fmt["struct_fmt"] + " is no good")
elif fmt["version"] != 2: # pragma: no cover (just future proofing)
raise NotImplementedError("version " + str(fmt["version"]) +
" bulk data store not supported")
if fmt["version"] != 3: # pragma: no cover
# Old versions used floating point timestamps, which aren't
# valid anymore.
raise NotImplementedError("old version " + str(fmt["version"]) +
" bulk data store is not supported")

self.rows_per_file = fmt["rows_per_file"]
self.files_per_dir = fmt["files_per_dir"]


Loading…
Cancel
Save