ejdb2_dart 1.0.22

  • README.md
  • CHANGELOG.md
  • Example
  • Installing
  • Versions
  • 76

EJDB2 Dart VM native binding #

Embeddable JSON Database engine http://ejdb.org Dart binding.

See https://github.com/Softmotions/ejdb/blob/master/README.md

For API usage examples take a look into /example and /test folders.

Example #

import 'package:ejdb2_dart/ejdb2_dart.dart';

void main() async {
  final db = await EJDB2.open('example.db', truncate: true);

  var id = await db.put('parrots', {'name': 'Bianca', 'age': 4});
  print('Bianca record: ${id}');

  id = await db.put('parrots', {'name': 'Darko', 'age': 8});
  print('Darko record: ${id}');

  final q = db.createQuery('/[age > :age]', 'parrots');
  await for (final doc in q.setInt('age', 3).execute()) {
    print('Found ${doc}');
  }
  await db.close();
}

Supported platforms #

  • Linux x64
  • OSX

How to build it manually #

git clone https://github.com/Softmotions/ejdb.git
cd ./ejdb
mkdir ./build && cd build
cmake .. -DBUILD_DART_BINDING=ON -DCMAKE_BUILD_TYPE=Release
make
cd src/bindings/ejdb2_dart/ejdb2_dart
pub get

ejdb_dart (1.0.22)

  • Upgraded to ejdb v2.0.19 / iowow v1.3.20 with critical fixes

ejdb_dart (1.0.21)

  • Upgraded to ejdb v2.0.18

ejdb_dart (1.0.20)

  • Added inverse JQL query option. (ejdb 2.0.17)

ejdb_dart (1.0.19)

  • Upgraded to ejdb v2.0.16

ejdb_dart (1.0.18)

  • Security: a heap-overflow vulnerability was fixed in the WebSocket parser of facil.io library

ejdb_dart (1.0.17)

  • Added convenient JQL#firstRequired()

ejdb_dart (1.0.16)

  • Upgraded to ejdb2_2.0.13 with critical fixes

ejdb_dart (1.0.15)

  • Upgraded to ejdb2_2.0.12 with critical fixes

ejdb_dart (1.0.14)

  • Upgraded to ejdb2_2.0.11 with critical fixes

ejdb_dart (1.0.13)

  • CRITICAL: Fixed unexpected database file truncation and data loss on close.
  • Upgraded to iowow 1.3.14

ejdb_dart (1.0.12)

  • Added query limit override in JQL#execute
  • Added native JQL#limit getter

ejdb_dart (1.0.11)

  • Added JQL#firstOrNull() and JQL#firstN() with relevant test cases
  • Build fixes: HTTP/WS server was not included in 1.0.10

ejdb_dart (1.0.10)

  • Upgrade to ejdb 2.0.9 release

ejdb_dart (1.0.9)

  • Ability to log query execution plan with explainCallback function in JQL#execute() and JQL#scalarInt()

ejdb_dart (1.0.8)

  • Added notFound,invalidQuery to EJDB2Error

ejdb_dart (1.0.7)

  • Updated to ejdb v2.0.8

ejdb_dart (1.0.6)

  • Updated to ejdb v2.0.7
    • Fixed deadlock condition with OSX pthread rwlocks.
    • Phreads PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP is used by default

ejdb_dart (1.0.5)

  • Fix compilation warning: incompatible pointer types passing 'intptr_t *'

ejdb_dart (1.0.4)

  • Updated to ejdb v2.0.6
  • Documentation minors

ejdb_dart (1.0.3)

  • Safe database release in ejdb2_isolate_shared_release()

ejdb_dart (1.0.2)

  • Canonicalize database file path before opening database.

ejdb_dart (1.0.1)

  • Added support of database access from multiple isolates #241

ejdb_dart (1.0.0)

  • Initial version.

example/example.dart

import 'package:ejdb2_dart/ejdb2_dart.dart';

void main() async {
  final db = await EJDB2.open('example.db', truncate: true);

  var id = await db.put('parrots', {'name': 'Bianca', 'age': 4});
  print('Bianca record: ${id}');

  id = await db.put('parrots', {'name': 'Darko', 'age': 8});
  print('Darko record: ${id}');

  final q = db.createQuery('/[age > :age]', 'parrots');
  await for (final doc in q.setInt('age', 3).execute()) {
    print('Found $doc');
  }
  await db.close();
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  ejdb2_dart: ^1.0.22

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:ejdb2_dart/ejdb2_dart.dart';
  
Version Uploaded Documentation Archive
1.0.22 Jun 13, 2019 Go to the documentation of ejdb2_dart 1.0.22 Download ejdb2_dart 1.0.22 archive
1.0.21 Jun 12, 2019 Go to the documentation of ejdb2_dart 1.0.21 Download ejdb2_dart 1.0.21 archive
1.0.20 Jun 5, 2019 Go to the documentation of ejdb2_dart 1.0.20 Download ejdb2_dart 1.0.20 archive
1.0.19 Jun 5, 2019 Go to the documentation of ejdb2_dart 1.0.19 Download ejdb2_dart 1.0.19 archive
1.0.18 May 27, 2019 Go to the documentation of ejdb2_dart 1.0.18 Download ejdb2_dart 1.0.18 archive
1.0.17 May 8, 2019 Go to the documentation of ejdb2_dart 1.0.17 Download ejdb2_dart 1.0.17 archive
1.0.16 May 3, 2019 Go to the documentation of ejdb2_dart 1.0.16 Download ejdb2_dart 1.0.16 archive
1.0.15 May 3, 2019 Go to the documentation of ejdb2_dart 1.0.15 Download ejdb2_dart 1.0.15 archive
1.0.14 May 1, 2019 Go to the documentation of ejdb2_dart 1.0.14 Download ejdb2_dart 1.0.14 archive
1.0.13 Apr 26, 2019 Go to the documentation of ejdb2_dart 1.0.13 Download ejdb2_dart 1.0.13 archive

All 22 versions...

Popularity:
Describes how popular the package is relative to other packages. [more]
53
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
76
Learn more about scoring.

We analyzed this package on Jun 17, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.3.2
  • pana: 0.12.18

Platforms

Detected platforms: other

Primary library: package:ejdb2_dart/ejdb2_dart.dart with components: io, isolate, nativewrappers.

Health suggestions

Format lib/ejdb2_dart.dart.

Run dartfmt to format lib/ejdb2_dart.dart.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.2.0 <3.0.0
path ^1.6.2 1.6.2
quiver ^2.0.3 2.0.3
Transitive dependencies
matcher 0.12.5
meta 1.1.7
stack_trace 1.9.3