nsfmongo.c

Clone Tools
  • last updated 6 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- Copy changed structure

  1. … 1 more file in changeset.
MongoDB driver: - added explicit calls to mongoc_init() and mongoc_cleanup(). - configure via "--disable-automatic-init-and-cleanup"

  1. … 1 more file in changeset.
- more white space changes (remove tabs, reformat whole file)

- white space change

MongoDB upgrade - Upgraded MongoDB and drivers to mongodb-c-driver 1.5.1, libbson 1.5.1 and MongoDB v3.4.0

- The upstream mongodb-c-driver has deprecated the old OP_QUERY syntax

with $-modifiers and old names like $orderby and $query, which will

be removed from the driver. The new interface is more in the mongodb

style, many former parameters (e.g. -limit, -skip, -project, -sort)

went to the new "-opts" argument.

mongo::collection::query /collection/ /filter/ ?-opts /opts/?

mongo::cursor::find /collection/ /filter/ ?-opts /opts/?

See the begin of nsf-mongo.test file for examples for queries

with the old and new interface. The high level interface

for nx::Object is unchanged.

- Support for new binary type "decimal128"

  1. … 7 more files in changeset.
- reduce implicit conversions

code generator changes: - create enum types instead of enum values for nsf API - use enum types in code

  1. … 6 more files in changeset.
- return the result of ::mongo::run

  1. … 1 more file in changeset.
Improved mongodb interface for json/bson parsing: - rename function mongo::json to mongo::json::generate - introduce mongo::json::parse

  1. … 2 more files in changeset.
- nsf mongodb: reduce verbosity - white-space changes

- fix all complaints from clang static analyzer 3.6

  1. … 1 more file in changeset.
- prefer boolean expression in tests over expressions of other types

  1. … 26 more files in changeset.
- make compilation clean with clang 3.6

  1. … 2 more files in changeset.
- add NsfArgumentError() to stub interface, since this might be used by c packages using the interface generator - add mong::json to the interface - bump version number for mongo interface to 0.4.

  1. … 10 more files in changeset.
- update parse context

mongo: - upgrade to the newly released version 0.96 of the c-driver - replace deprecated function mongoc_collection_delete by mongoc_collection_remove - tested with MongoDB v2.6.1

  1. … 1 more file in changeset.
small introspection reform: - Introspection for commands and arguments did not work for cmds defined in subpackages (such as mongodb). We keep now this information in hashtables and maintain a slim interface for this. - fix generation of pkgIndex.tcl for mongodb

  1. … 13 more files in changeset.
- reduce variable scope

- improve code documentation - add some more tests to the regression test suite

  1. … 2 more files in changeset.
nx-mongo: - added command "::mongo::status /mongoConn/" - extended regression test

  1. … 4 more files in changeset.
- added mongo::cursor::aggregate

  1. … 3 more files in changeset.
- added mongo::collection::stats - extended regression test

  1. … 4 more files in changeset.
nx-mongo: - fixed suprising compiler message "alignment of array elements is greater than element size" when using e.g. "bson_iter_t i[1]" - some c-code cleanup - tested with mongodb-c-driver 0.92.3

  1. … 2 more files in changeset.
- since mongoc_gridfs_get_files is supported since today by the mongo-c-driver, we do not need it private implementation any more. all dependencies on private header files are removed by now.

- adjust to newest version of mongo-c-driver - remove one dependency for private header file

  1. … 1 more file in changeset.
- represent BSON_TYPE_REGEX as pairs (regex + options) in the Tcl representation to preserve regular expression options - update to newest version of mongo-c-driver and libbson from github

  1. … 2 more files in changeset.
nx-mongo: - optional support for mongodb connection pools (compile time macro USE_CLIENT_POOL controls this, per default, this is on) - allow to pass "-metadata" to gridfile::create to ease metadata attachment to gridfiles - some conveniance improvements in nx-mongo.tcl (ability to ignore attributes in "bson encode", ability to unset attributes in gridfs, ...) - bump version numbers of nsfmongo to 0.3 and nx-monogo to 0.5

  1. … 5 more files in changeset.
- minor cleanup

  1. … 1 more file in changeset.
nx-monogo: - Updated the mongo-c-driver and libbson to the actual tip version from github (this is a significant change, since 10gen essentially changed the officially supported c-driver of MongoDB) - mongo-c-driver was more or less new-implementation, since strucure and names changed in the mongo-c-driver substantially, serveral functions were added, several were dropped. The new interface supports now e.g. mongo URIs, and should be faster (by using collection objects instead of connection handles) - Although the low-level nsf interface changed significantly, the high level (nx level) interface remained unaffected. - Configure has now --with-mongoc=... and --with-bson instead of --with-mongodb - New commands: mongo::collection::open /mongoConn/ /dbName/ /collectionName/ mongo::collection::close /collection/ mongo::gridfs::store_string /content/ /name/ /contentType/ - Make use of the new collection handle mongo::count /mongoConn/ /ns/ ... -> mongo::collection::count /collection/ ... mongo::index /mongoConn/ /ns/ ... -> mongo::collection::index /collection/ ... mongo::insert /mongoConn/ /ns/ ... -> mongo::collection::insert /collection/ ... mongo::query /mongoConn/ /ns/ ... -> mongo::collection::query /collection/ ... mongo::remove /mongoConn/ /ns/ ... -> mongo::collection::delete /collection/ ... mongo::update /mongoConn/ /ns/ ... -> mongo::collection::update /collection/ ... mongo::cursor::find /mongoConn/ /ns/ ... -> mongo::cursor::find /collection/ ... - nsf::mongo::connect receives now a mongoc_uri https://github.com/mongodb/mongo-c-driver/blob/master/doc/mongoc_uri.txt - The gridfs interface allows now to store multiple revisions of a file - The gridfs interface allows now upload files from a string - The gridfs interface allows to refer to files by other attributes than just the filename (e.g. the mongo id). - Modified/new gridfile functions mongo::gridfile::create ?-source file|string? /gridfs/ /value/ /name/ /contentType/ mongo::gridfile::delete /gridfs/ /query/ mongo::gridfile::open /gridfs/ /query/ - Updated README - Updated regression test - Added editor hints for a more uniform appearance

  1. … 14 more files in changeset.
- improve performance of mongo->tcl conversion by using predefined global strings

  1. … 2 more files in changeset.