-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathconfig.h.in
85 lines (66 loc) · 3.92 KB
/
config.h.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/**
* <!-- mksqlite: A MATLAB Interface to SQLite -->
*
* @file config.h
* @brief Global configuration settings and defaults
* @details Configuration file for settings and defaults
* @authors Martin Kortmann <mail@kortmann.de>,
* Andreas Martin <andimartin@users.sourceforge.net>
* @version 2.14
* @date 2008-2024
* @copyright Distributed under BSD-2
* @pre
* @warning
* @bug
*/
#pragma once
#include "git_revision.h"
/// Common configurations
#define BOOL_TRUE 1
#define BOOL_FALSE 0
#define ON 1
#define OFF 0
#define MKSQLITE_CONFIG_USE_UUID ${MKSQLITE_CONFIG_USE_UUID} ///< true=use uuid extension
#define MKSQLITE_CONFIG_USE_HEAP_CHECK ${MKSQLITE_CONFIG_USE_HEAP_CHECK} ///< false=standard allocators, true=usage of heap_check.hpp
#define MKSQLITE_CONFIG_USE_LOGGING ${MKSQLITE_CONFIG_USE_LOGGING} ///< default SQL busy timeout in milliseconds (1000)
#define MKSQLITE_CONFIG_NULL_AS_NAN ${MKSQLITE_CONFIG_NULL_AS_NAN} ///< use NaN instead of NULL values by default
#define MKSQLITE_CONFIG_BUSYTIMEOUT ${MKSQLITE_CONFIG_BUSYTIMEOUT} ///< default SQL busy timeout in milliseconds (1000)
/// compression level: Using compression on typed blobs when > 0
#define MKSQLITE_CONFIG_COMPRESSION_LEVEL 0 ///< no compression by default
#define MKSQLITE_CONFIG_COMPRESSION_TYPE "blosclz" ///< "blosclz", "lz4", "lz4hc", "snappy", "zlib", "zstd", "qlin16", "qlog16"
/// Flag: check compressed against original data
#define MKSQLITE_CONFIG_COMPRESSION_CHECK ${MKSQLITE_CONFIG_COMPRESSION_CHECK} ///< check is on by default
/// Convert UTF-8 to ascii, otherwise set slCharacterEncoding('UTF-8')
#define MKSQLITE_CONFIG_CONVERT_UTF8 ${MKSQLITE_CONFIG_CONVERT_UTF8} ///< use UTF8 encoding by default
/// MATLAB specific configurations
#if defined( MATLAB_MEX_FILE )
/**
* \brief result types
* \sa STR_RESULT_TYPES in locale.hpp
*/
enum RESULT_TYPES {
RESULT_TYPE_ARRAYOFSTRUCTS, ///< 0-Array of structs
RESULT_TYPE_STRUCTOFARRAYS, ///< 1-Struct of arrays
RESULT_TYPE_MATRIX, ///< 2-Matrix/cell array
/// Limit for bound checking only
RESULT_TYPE_MAX_ID = RESULT_TYPE_MATRIX
};
#define MKSQLITE_CONFIG_VERSION_STRING MKSQLITE_VERSION_MAJOR "." MKSQLITE_VERSION_MINOR /**< mksqlite version string */
#define MKSQLITE_CONFIG_MAX_NUM_OF_DBS ${MKSQLITE_CONFIG_MAX_NUM_OF_DBS} ///< maximum number of databases, simultaneous open
#define MKSQLITE_CONFIG_CHECK_4_UNIQUE_FIELDS ON ///< ensure unique fields in query return structure by default
/// Allow streaming to convert MATLAB variables into byte streams
#define MKSQLITE_CONFIG_STREAMING OFF ///< streaming is disabled by default
/// SQLite itself limits BLOBs to 1MB, mksqlite limits to INT32_MAX
#define MKSQLITE_CONFIG_MAX_BLOB_SIZE ((mwSize)INT32_MAX) ///< max. size in bytes of a blob
/// Early bind mxSerialize and mxDeserialize
/// ON: mksqlite has to be linked with MATLAB lib, OFF: dynamic calls to MATLAB functions
#ifndef MKSQLITE_CONFIG_EARLY_BIND_SERIALIZE
#define MKSQLITE_CONFIG_EARLY_BIND_SERIALIZE OFF ///< early binding if off by default
#endif
/// Data organisation of query results
#define MKSQLITE_CONFIG_RESULT_TYPE RESULT_TYPE_ARRAYOFSTRUCTS ///< return array of structs by default
/// Wrap parameters
#define MKSQLITE_CONFIG_PARAM_WRAPPING OFF ///< paramter wrapping is off by default
/// Use blosc library
#define MKSQLITE_CONFIG_USE_BLOSC ${MKSQLITE_CONFIG_USE_BLOSC} ///<
#endif