Skip to content

Commit 7860325

Browse files
committed
fixed #211 & 3.4.0 release
1 parent a3582fd commit 7860325

File tree

8 files changed

+27
-7
lines changed

8 files changed

+27
-7
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,5 @@ deploy:
4949

5050
env:
5151
global:
52-
- NITRITE_VERSION=3.4.0-SNAPSHOT
52+
- NITRITE_VERSION=3.4.0
5353
- PGP_KEY_FILE=~/secring.gpg

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
org.gradle.jvmargs=-Xmx1024m
2525

2626
# artifact version
27-
nitriteVersion=3.4.0-SNAPSHOT
27+
nitriteVersion=3.4.0
2828

2929
# nitrite dependency
3030
asciidoctorVersion=1.5.6

nitrite-datagate/src/main/dist/lib/.gitkeep

Whitespace-only changes.

nitrite/src/docs/asciidoc/features.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
* Embedded key-value/document and object store
2-
* In-memory off-heap store
2+
* In-memory (on/off)-heap store
33
* Single file store
44
* Very fast and lightweight MongoDB like API
55
* Indexing

nitrite/src/docs/asciidoc/index.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
= Nitrite
22
Anindya Chatterjee <anindya@dizitart.com>
3-
v3.3.0, {docdate} {doctime}
3+
v3.4.0, {docdate} {doctime}
44
:description: Nitrite database is an open source Nosql embedded persistent document store written in Java. It has MongoDB like API. It supports both in-memory and single file based persistent store powered by MVStore engine of h2 database. Nitrite can be used in desktop as well as mobile applications like android.
55
:keywords: nitrite, nosql, embedded, embedded document store, android, android nosql database, java, key value store, document store, object store, persistent store, index, indexing, fulltext search, embedded mongo,
66
:page-layout: docs
@@ -12,7 +12,7 @@ v3.3.0, {docdate} {doctime}
1212
:toclevels: 4
1313
:title-logo-image: image:images/nitrite-logo.svg[pdfwidth=4.25in,align=center]
1414
:homepage: http://nitrite.dizitart.org
15-
:version: 3.3.0
15+
:version: 3.4.0
1616
:source-highlighter: pygments
1717
:pygments-style: tango
1818
:linkattrs:

nitrite/src/docs/asciidoc/nitrite-database/nitritebuilder.adoc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,18 @@ based database. If the file exists, builder will try to open the existing databa
1212
NOTE: If the existing database file is corrupted, while opening, nitrite will try to recover
1313
from it by restoring the last known good version.
1414

15+
.Create an in-memory database
16+
[source,java]
17+
--
18+
Nitrite db = Nitrite.builder()
19+
.openOrCreate();
20+
--
21+
1522
.Create an in-memory database with off-heap storage
1623
[source,java]
1724
--
1825
Nitrite db = Nitrite.builder()
26+
.enableOffHeapStorage()
1927
.openOrCreate();
2028
--
2129

nitrite/src/main/java/org/dizitart/no2/NitriteBuilder.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ public class NitriteBuilder {
109109
private boolean autoCommit = true;
110110
private boolean autoCompact = true;
111111
private boolean shutdownHook = true;
112+
private boolean offHeapStorage = false;
112113
private TextIndexingService textIndexingService;
113114
private TextTokenizer textTokenizer;
114115
private NitriteMapper nitriteMapper;
@@ -332,6 +333,17 @@ public NitriteBuilder registerModule(Module module) {
332333
return this;
333334
}
334335

336+
337+
/**
338+
* Enables off-heap storage for in-memory database.
339+
*
340+
* @return the {@link NitriteBuilder} instance.
341+
* */
342+
public NitriteBuilder enableOffHeapStorage() {
343+
this.offHeapStorage = true;
344+
return this;
345+
}
346+
335347
/**
336348
* Opens or creates a new database. If it is an in-memory store, then it
337349
* will create a new one. If it is a file based store, and if the file does not
@@ -429,8 +441,7 @@ private Nitrite openOrCreateInternal(String userId, String password) {
429441
builder = builder.autoCommitDisabled();
430442
}
431443

432-
if (isNullOrEmpty(filePath)) {
433-
// for in memory store use off heap storage
444+
if (isNullOrEmpty(filePath) && offHeapStorage) {
434445
builder = builder.fileStore(new OffHeapStore());
435446
}
436447

nitrite/src/test/java/org/dizitart/no2/NitriteBuilderTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ public void testConfig() throws IOException {
5656
builder.filePath(filePath);
5757
builder.textIndexingService(textIndexingService);
5858
builder.textTokenizer(textTokenizer);
59+
builder.enableOffHeapStorage();
5960

6061
Nitrite db = builder.openOrCreate();
6162
NitriteContext context = db.getContext();

0 commit comments

Comments
 (0)