Skip to content

Commit 243c06a

Browse files
committed
0.7.1
1 parent f76a406 commit 243c06a

File tree

6 files changed

+31
-13
lines changed

6 files changed

+31
-13
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
0.7.1 (2019-10-16)
2+
------------------
3+
* Query performance improvements
4+
* Improved API docs
5+
* Minor fixes
6+
17
0.7.0 (2019-09-09)
28
------------------
39
* Added observers to listen to data changes (e.g. obx_observe())

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ ObjectBox C API
44
Using this C API, you can us ObjectBox as an embedded database in your C/C++ application.
55
In this embedded mode, it runs within your application process.
66

7-
**Latest version: 0.7.0** (2019-09-09). Please note that this release comes with breaking [changes](CHANGELOG.md), see also below.
7+
**Latest version: 0.7.1** (2019-10-16). See [changelog](CHANGELOG.md) for more details.
88

99
Some features
1010
-------------

download.sh

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ tty -s || quiet=true
3939

4040
# Note: optional arguments like "--quiet" shifts argument positions in the case block above
4141

42-
version=${1:-0.7}
42+
version=${1:-0.7.1}
4343
repoType=${2:-testing}
4444
os=${3:-$(uname)}
4545
arch=${4:-$(uname -m)}
@@ -192,10 +192,9 @@ mkdir -p "$(dirname "${archiveFile}")"
192192

193193
# Support both curl and wget because their availability is platform dependent
194194
if [ -x "$(command -v curl)" ]; then
195-
curl -L -o "${archiveFile}" "${downloadUrl}"
195+
curl --location --fail --output "${archiveFile}" "${downloadUrl}"
196196
else
197-
#wget too verbose with redirects, pipe and grep only errors
198-
wget -O "${archiveFile}" "${downloadUrl}" 2>&1 | grep -i "HTTP request sent\|failed\|error"
197+
wget --no-verbose --output-document="${archiveFile}" "${downloadUrl}"
199198
fi
200199

201200
if [[ ! -s ${archiveFile} ]]; then

doxygen/Changelog.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33
ObjectBox C API Changelog
44
=========================
55

6+
0.7.1 (2019-10-16)
7+
------------------
8+
* Query performance improvements
9+
* Improved API docs
10+
* Minor fixes
11+
612
0.7.0 (2019-09-09)
713
------------------
814
* Added observers to listen to data changes (e.g. obx_observe())

doxygen/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ PROJECT_NAME = "ObjectBox C API"
3838
# could be handy for archiving the generated documentation or if some version
3939
# control system is used.
4040

41-
PROJECT_NUMBER = "0.7"
41+
PROJECT_NUMBER = "0.7.1"
4242

4343
# Using the PROJECT_BRIEF tag one can provide an optional one line description
4444
# for a project that appears at the top of each page and should give viewer a

include/objectbox.h

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ extern "C" {
4141
/// When using ObjectBox as a dynamic library, you should verify that a compatible version was linked using obx_version() or obx_version_is_at_least().
4242
#define OBX_VERSION_MAJOR 0
4343
#define OBX_VERSION_MINOR 7
44-
#define OBX_VERSION_PATCH 0 // values >= 100 are reserved for dev releases leading to the next minor/major increase
44+
#define OBX_VERSION_PATCH 1 // values >= 100 are reserved for dev releases leading to the next minor/major increase
4545

4646
/// Returns the version of the library as ints. Pointers may be null.
4747
void obx_version(int* major, int* minor, int* patch);
@@ -96,6 +96,8 @@ bool obx_supports_bytes_array(void);
9696
#define OBX_ERROR_UNIQUE_VIOLATED 10201
9797
#define OBX_ERROR_NON_UNIQUE_RESULT 10202
9898
#define OBX_ERROR_PROPERTY_TYPE_MISMATCH 10203
99+
#define OBX_ERROR_ID_ALREADY_EXISTS 10210
100+
#define OBX_ERROR_ID_NOT_FOUND 10211
99101
#define OBX_ERROR_CONSTRAINT_VIOLATED 10299
100102

101103
// STD errors
@@ -188,9 +190,11 @@ typedef enum {
188190
OBXPropertyType_StringVector = 30,
189191
} OBXPropertyType;
190192

191-
/// Not really an enum, but binary flags to use across languages
193+
/// Bit-flags defining the behavior of properties.
194+
/// Note: Numbers indicate the bit position
192195
typedef enum {
193-
/// One long property on an entity must be the ID
196+
/// 64 bit long property (internally unsigned) representing the ID of the entity.
197+
/// May be combined with: NON_PRIMITIVE_TYPE, ID_MONOTONIC_SEQUENCE, ID_SELF_ASSIGNABLE.
194198
OBXPropertyFlags_ID = 1,
195199

196200
/// On languages like Java, a non-primitive type is used (aka wrapper types, allowing null)
@@ -230,7 +234,9 @@ typedef enum {
230234
/// recommended mostly for 64 bit machines with values longer >200 bytes; small values are faster with a 32 bit hash
231235
OBXPropertyFlags_INDEX_HASH64 = 4096,
232236

233-
/// The actual type of the variable is unsigned (used in combination with numeric OBXPropertyType_*)
237+
/// Unused yet: While our default are signed ints, queries & indexes need do know signing info.
238+
/// Note: Don't combine with ID (IDs are always unsigned internally).
239+
/// Used in combination with integer types defined in OBXPropertyType_*.
234240
OBXPropertyFlags_UNSIGNED = 8192,
235241
} OBXPropertyFlags;
236242

@@ -556,14 +562,15 @@ OBX_id_array* obx_cursor_rel_ids(OBX_cursor* cursor, obx_schema_id relation_id,
556562
struct OBX_box;
557563
typedef struct OBX_box OBX_box;
558564

559-
/// Gets access to to the box for the given entity. A box may be used across threads.
560-
/// Boxes are managed by the store so there's no need to close/free them manually.
565+
/// Gets the box for the given entity type. A box may be used across threads.
566+
/// Boxes are shared instances and managed by the store; so there's no need to close/free boxes manually.
561567
OBX_box* obx_box(OBX_store* store, obx_schema_id entity_id);
562568

563569
/// Checks whether a given object exists in the box.
564570
obx_err obx_box_contains(OBX_box* box, obx_id id, bool* out_contains);
565571

566-
/// Checks whether a given object exists in the box.
572+
/// Checks whether this box contains objects with all of the IDs given
573+
/// @param out_contains is set to true if all of the IDs are present, otherwise false
567574
obx_err obx_box_contains_many(OBX_box* box, const OBX_id_array* ids, bool* out_contains);
568575

569576
/// Fetch a single object from the box; must be called inside a (reentrant) transaction.

0 commit comments

Comments
 (0)