Javascript ORM
JavaScript
Latest commit 6f67169 Nov 24, 2016 @lroal lroal committed on GitHub Merge pull request #20 from marcbachmann/update-uuid
Update uuid to version 3.0.0
Permalink
Failed to load latest commit information.
createDomain do not forward rdb from old domain Sep 2, 2015
createDomainSpec Transactions started in a domain will now add getters and setters to … May 8, 2015
docs locking docs Sep 14, 2016
emitEventSpec done newCache with events and tryRemove Apr 8, 2014
emptyFilterSpec raw sql filter. Version 0.5.0 Mar 23, 2015
indexSpec transaction lock Sep 14, 2016
lock transaction lock Sep 14, 2016
lockSpec transaction lock Sep 14, 2016
mySql Optional locks for getMany, getById, tryGetById, getFirst, tryGetFirst Sep 16, 2016
newCollectionSpec Improved performance May 5, 2015
newIdSpec fixed linting wip Nov 13, 2014
newImmutableSpec newInsertCommand Apr 10, 2014
newObjectSpec manyCache with invalidation Mar 27, 2014
pg Optional locks for getMany, getById, tryGetById, getFirst, tryGetFirst Sep 16, 2016
poolsSpec
query rdb.query now accepts string or object instead of just object. Feb 23, 2016
querySpec Adds rdb.query(queryObject). Feb 23, 2016
table optimized getMany and table.getMany.exclusive no longer uses cache, b… Sep 22, 2016
tableSpec
.gitignore version 1.0.8 Nov 4, 2015
.jshintignore ignore node_modules in jshint Jan 19, 2015
AUTHORS
README.md v1.5.7 Sep 23, 2016
createDomain.js
emitEvent.js done newCache with events and tryRemove Apr 8, 2014
emptyFilter.js
index.js transaction lock Sep 14, 2016
lock.js transaction lock Sep 14, 2016
newArray.js done pg endPool Feb 28, 2015
newCollection.js alias as table for string columns Jun 24, 2015
newId.js chore(package): update uuid to version 3.0.0 Nov 23, 2016
newImmutable.js fixed linting wip Nov 13, 2014
newObject.js manyCache with invalidation Mar 27, 2014
package.json chore(package): update uuid to version 3.0.0 Nov 23, 2016
pools.js
query.js
rdb.sublime-project
table.js

README.md

rdb

ORM for nodejs / iojs.
Supports postgres and mySql.

Installation

npm install rdb

Features

Simple, flexible mapper.
Transaction with commit and rollback.
Persistence ignorance - no need for explicit saving, everything is handled by transaction.
Eager or lazy loading.
Based on promises.
Documentation and examples

Release notes

1.5.7
Bugfix: getById.exclusive and tryGetById.exclusive did not lock if row was cached.
Improved performance on tryGetFirst.
1.5.6
Raw sql filters can accept sql both as string and as function. E.g. var filter = {sql: function() {return 'foo > 1';}}.
1.5.5
Optional locks for getMany, tryGetFirst and tryGetById. Instead of calling getMany(params) just call getMany.exclusive(params). Same syntax goes for tryGetFirst and tryGetById. This will result in SELECT FOR UPDATE.
Bugfix: bulk deletes now accepts raw sql filters too.
1.5.4
Transaction locks. Postgres only.
1.5.3
Upgraded to pg 6.0.3
1.5.2
Improved performance and reduced memory footprint.
1.5.1
Documented JSON column type. Bug fix: Insert and foreign key violation.
1.5.0
JSON column type. Postgres json type does not support rdb filters.
1.4.1
Empty filter would sometimes cause invalid filter.
1.4.0
Raw SQL query.
1.3.0
getMany() now supports limit and orderBy - same syntax as in streaming.
1.2.3
Bugfix: iEqual gave incorrect sql when parameterized.
1.2.2
Exlusive no longer returns a clone of table. It has changes current table to exclusive locking.
1.2.1
Bugfix: Exclusive row locks
1.2.0
Exclusive row locks
1.1.0
Now supporting streaming. Requires postgres or MySQL >=5.7.7
1.0.8
README fixup.
1.0.7
Better performance on insert and update.
1.0.6
Bugfix: Transaction domain should not forward rdb singleton from old domain.
1.0.5
Documentation cleanup.
1.0.4
orderBy in toDto().
1.0.3
toDto() using next tick on every thousandth row to avoid maximum call stack size exceeded.
1.0.2
Reduced number of simultaneous promises in order to avoid maximum call stack size exceeded.
1.0.1
Bugfix: Incorrect insert/updates on timestamp without timezone. The time was converted utc instead of stripping the timezone.
1.0.0
Transaction domain forwards properties from old domain.
Semantic versioning from now on.
0.5.1
Improved performance
0.5.0
Logging: rdb.log(someFunc) logs sql and parameters.
Raw sql filters.
0.4.9
New method: tryGetById.
New filter: iEqual, postgres only.
Bugfix: rows.toJSON() without strategy did not include any children.
0.4.8
Explicit pooling with size and end().
Bugfix: mySql did not release client to pool.
0.4.7
Upgraded to pg 4.3.0
Upgraded to mysql 2.5.5
0.4.6
Upgraded pg 4.2.0.
0.4.5
Oops. Forgot to use pg.js instead of pg.
0.4.4
Upgraded all dependencies to latest. Using pg.js instead of pg.
0.4.3
Can ignore columns when serializing to dto.
0.4.2
Bugfix: update on a row crashes when a delete occurs earlier in same transaction.
0.4.1
Bugfix: more global leaks.
0.4.0
Bugfix: global leak.
0.3.9
Bugfix: eager loading joins/hasOne with non unique column names was not handled correctly.
0.3.8
Supports mySql.
Bulk deletes.
0.3.7
Bugfix: eager loading manyRelation on a join/hasOne returned empty array #11
0.3.6
Fixed sql injection vulnerability.
0.3.5
Built-in fetching strategies for lazy loading. Works best in readonly scenarios.
0.3.4
Docs and examples split moved to separate file.
0.3.3
Fixed documentation layout again.
0.3.2
Fixed documentation layout.
0.3.1
Case insensitive filters: iStartsWith, iEndsWith and iContains.
0.3.0
Fix broken links in docs.
0.2.9
Support for row.delete().
Rollback only throws when error is present.
0.2.8
Guid accepts uppercase letters.
Bugfix: null inserts on guid columns yielded wrong sql.
0.2.7
New method, toDto(), converts row to data transfer object.
Bugfix: toJSON returned incorrect string on hasMany relations.
0.2.6
Fixed incorrect links in README.
0.2.5
Bugfix: caching on composite keys could give a crash #7. Improved sql compression on insert/update.
0.2.4
Bugfix: getMany with many-strategy and shallowFilter yields incorrect query #6.
0.2.3
Reformatted documentation. No code changes.