Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

05 December 2018 - Version 0.18.1


  • [ODB-392] - test_encode_odb fails with Cray compiler 8.6


October 2017 - Version 0.17.6


  • [ODB-390] - Fix FileMapper TIME for odbServer (correct broken test)


  • [ODB-393] - Analysis of ODB meta data coming from marsfs should buffer data

October 2017 - Version 0.17.4


  • [ODB-388] - odb mdset sometime produces incomplete files
  • [ODB-391] - test_decode_odb has macro with wrong number of arguments


  • [ODB-387] - odb compare should accept a list of columns not to test
  • [ODB-390] - Fix FileMapper TIME for odbServer


September 2017 - Version 0.17.3


  • [ODB-356] - Tests fail when dependency order is not obeyed
  • [ODB-379] - ODB-2 distance function out by a factor of 10
  • [ODB-376] - Garbled data can be returned from odb::Reader from malformed ODB file (rather than error)


  • [ODB-159] - ODB API 1.0: Use codec which fixes ODB-15 for encoding by default
  • [ODB-362] - Use new lest-compatible unit testing from eckit for ODB tests.

July 2017 - Version 0.17.2 (Internal only)


  • [ODB-365] - Build failure on FreeBSD
  • [ODB-367] - The "chars" codec stores all of its data twice
  • [ODB-369] - Values can be promoted into missingValue silently, without being registered in statistics
  • [ODB-372] - Writer will happily create output with columns with repeated names
  • [ODB-374] - Failure during writing header of string-based types in odb mdset
  • [ODB-375] - Internal segfault if columns are not correctly initialised


  • [ODB-362] - Use new lest-compatible unit testing from eckit for some of the ODB tests.
  • [ODB-363] - Added tests for data encoding/decoding and codecs.


Primary change is the removal of ODB1 dependencies from ODB API (and extraction of those components into odb_tools).


  • [ODB-351] - Legacy Fortran API syntax error if SQL not terminated with semicolon
  • [ODB-353] - Default paths in oda2request are incorrect, causing failures
  • [ODB-354] - Cmake is checking for FortranLibs when just checking if the Fortran compiler works should be sufficient

23 May 2017 - Version 0.17.0


  • [ODB-52] - Crash when trying to open files that don't exist
  • [ODB-246] - Problem compiling odbql_wrappers.f90
  • [ODB-324] - ODBServer project should be declared as Fortran?
  • [ODB-331] - Python interface: files not closed after executing SELECT.
  • [ODB-334] - Inconsistent NetCDF variable naming
  • [ODB-342] - Data Governance tools - Creation of new groups through is broken
  • [ODB-347] - odb sql command line fails with syntax error if terminating semicolon is missing
  • [ODB-349] - A race condition in ODB API SQL (Bitfields' types registration)

New Feature

  • [ODB-83] - ODB API Python interface to accept multiple files as SQL input


  • [ODB-127] - $ variables in ODB2
  • [ODB-317] - Make OpenMP optional
  • [ODB-319] - Allow ODB-API to be built without OpenMP support

March 2017 - Version 0.16.2


  • [ODB-169] - Add an alias 'mean' to 'avg' for ODB-1 compatibility
  • [ODB-313] - odb_migrator was crashing in verification stage for some ODB databases

New Features

  • [ODB-300] - 'odb count' can accept more then one file name as parameter and return total sum of row counts.
  • [ODB-303] - Incorporate MetOffice patch for ODB Server so time is formatted as 4 digits (optional compile-time feature)
  • [ODB-306] - Make the verification of split optional (option -no_verification)
  • [ODB-312] - Make verification optional in odb_migrator (option -no_verification)


  • [ODB-166] - Portability issues affecting clang compilers builds, including Mac OS
  • [ODB-286] - Improve SQL syntax error messages
  • [ODB-284] - Less verbose logging for functionality called by MARS client and server


  • [ODB-269] - Python API: files were not closed properly. Python programs opening many files could reach operating systems limit on number of open files.
  • [ODB-281] - New SQL functions: (aggregate) first and last.
  • [ODB-271] - Python API: Pass file name to function connect instead of DDL, see updated examples.


  • Updated to use eckit 0.6.0 and ecbuild 1.3.2
  • Table in the SELECT's INTO clause can be defined with a CREATE TABLE statement (ODB-67)
  • odb sql tool has new flags (ODB-85):

    [--binary]            Print bitfields in binary notation

    [--no_alignment]      Do not align columns

  • Python API for legacy ODB added (documentation to be written)
  • ...


  • "ORDER BY 1" was not working correctly (ODB-49)
  • oda2request tool broken in ODB API 0.9.31 (wrong default path to configuration) (ODB-70)
  • CSV import tool was not working correctly for some bitfield columns (ODB-76)
  • ODB_DOUBLE constant added to Fortran bindings (ODB-77)
  • Python API for accessing old ODB databases (ODB-74)
  • Added odb_migrator option to specify missing value indicators different than default ones (only for REAL and INTEGER currently, DOUBLE always the same as REAL, BITFIELD always 0) (ODB-68)

               -mdi <type1:MDI1,type2:MDI2,...>

              -mdi REAL:2147483647,INTEGER:2147483647