![]() |
mksqlite
2.5
A MATLAB interface to SQLite
|
Packing MATLAB data in a memory block with type information for storing as SQL BLOB. More...
#include "utils.hpp"
Include dependency graph for typed_blobs.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | TypedBLOBHeaderBase |
| 1st (base) version of typed BLOB header with ability of storing multidimensional MATLAB arrays. More... | |
| struct | TypedBLOBHeaderCompressed |
| 2nd version of typed blobs with additional compression feature. More... | |
| struct | TBHData< HeaderBaseType > |
| Template class extending base class uniquely. More... | |
| struct | old_version::TypedBLOBHeader |
| typed BLOB header (deprecated) More... | |
Namespaces | |
| old_version | |
Macros | |
| #define | TBH_DATA(tbh) ((void*)&tbh->sizeDims[tbh->sizeDims[0]+1]) |
| Get pointer to hosted data (deprecated) | |
| #define | TBH_DATA_OFFSET(nDims) ((ptrdiff_t)&((TypedBLOBHeader*) 0)->sizeDims[nDims+1]) |
| Get offset from header start to hosted data (deprecated) | |
Header field limits | |
Length definitions for typed header fields (max lengths). | |
| #define | TBH_MAGIC_MAXLEN 14 |
| #define | TBH_PLATFORM_MAXLEN 11 |
| #define | TBH_COMPRID_MAXLEN 12 |
| #define | TBH_ENDIAN_MAXLEN 2 |
Typedefs | |
| typedef TBHData< TypedBLOBHeaderBase > | TypedBLOBHeaderV1 |
| typed blob header for MATLAB arrays | |
| typedef TBHData< TypedBLOBHeaderCompressed > | TypedBLOBHeaderV2 |
| typed blob header for MATLAB arrays with compression feature | |
Functions | |
| int | old_version::check_compatibility () |
| Checks for valid header size, platform name, endian type and magic (deprecated) | |
| void | typed_blobs_init () |
| Initialization. More... | |
| void | typed_blobs_mode_set (int mode) |
| Set mode of typed blob usage. | |
| int | typed_blobs_mode_on () |
| Get mode of typed blob usage. | |
Variables | |
| static int | typed_blobs_mode = 0 |
| typed blobs are off by default | |
| static const char | old_version::TBH_MAGIC [] = "mkSQLite.tbh" |
| identifying string (magic) (deprecated) | |
| static char | old_version::TBH_platform [11] = {0} |
| platform name (i.e. "PCWIN") (deprecated) | |
| static char | old_version::TBH_endian [2] = {0} |
| endian used ('L'ittle or 'B'ig) (deprecated) | |
Text fields for integrity check (platform and magic) | |
| const char | TBH_MAGIC [] = "mkSQLite.tbh\0" |
| identify string More... | |
| char | TBH_platform [] = {0} |
| platform name | |
| char | TBH_endian [] = {0} |
| endian (little or big) | |
Packing MATLAB data in a memory block with type information for storing as SQL BLOB.
Size of blob-header identifies type 1 or type 2 (with compression feature).
BLOBs of type mxUNKNOWN_CLASS reflects serialized (streamed) data and should be handled as mxCHAR_CLASS thus. Before packing data into a typed blob the caller is responsible to ensure not to deal with mxUNKNOWN_CLASS data.
In this module it's countless if the data is serialized or not, since it's a simple char array in that case.
Store type and dimensions of MATLAB vectors/arrays in BLOBs native and free of matlab types, to provide data sharing with other applications.
Switched with the command mksqlite('typedBLOBs', <integer value>), where <integer value> is 0 for "off" and 1 for "on".
Definition in file typed_blobs.hpp.
| struct old_version::TypedBLOBHeader |
typed BLOB header (deprecated)
Definition at line 484 of file typed_blobs.hpp.
| Class Members | ||
|---|---|---|
| int32_t | clsid | Matlab ClassID of variable (see mxClassID) |
| char | endian | Byte order: 'L'ittle endian or 'B'ig endian. |
| char | magic[sizeof(TBH_MAGIC)] | small fail-safe header check |
| char | platform[11] | Computer architecture: PCWIN, PCWIN64, GLNX86, GLNXA64, MACI, MACI64, SOL64. |
| int32_t | sizeDims[1] |
Number of dimensions, followed by sizes of each dimension First byte after header at &tbh->sizeDims[tbh->sizeDims[0]+1] |
| int16_t | ver | Struct size as kind of header version number for later backwards compatibility (may increase only!) |
| void typed_blobs_init | ( | ) |
Initialization.
Get platform information. Data stored in the database may be dependent and will be checked.
(Compatibility test in debug mode)
Definition at line 121 of file typed_blobs.hpp.
References old_version::check_compatibility(), and old_version::TBH_platform.
| const char TBH_MAGIC = "mkSQLite.tbh\0" |
1.8.13