nsf

Clone Tools
  • last updated 9 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- 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

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

- minor cleanup

nsf.c: - let [current methodpath] return full path (similar to -path option in "info methods" - handle collateral damage in regression test due to changed result of "current methodpath"

- add traits.test to the regression tests

nx::traits: - handle ensemble methods correctly (use full method path for resolution) - add new regression tests for traits

nsf.c: - fix small memory leak in multiple inheritance code. - all regression tests reun cleanly with --enable-memcount=yes

- raise an error, when an ensemble methods redefined a plain method

- add incr/decr refcount for callInfoObj in unknown handling - deactivated suspicious assert() in NsfMethodNamePath()

Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

nsf.c: - change name of enumeratorConverterEntry to Nsf_EnumeratorConverterEntry, move it with NSF_ARG_* flags to tcl.h to make it available in derived modules using the converter - Added editor hints for a more uniform appearance

    • -25
    • +6
    /library/xotcl/tests/slottest.xotcl
  1. … 30 more files in changeset.
- change configure flags from --with-mongodb to --with-mongoc=... and --with-bson

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

    • -269
    • +326
    /library/mongodb/mongoAPI.h
    • -458
    • +652
    /library/mongodb/nsfmongo.c
    • -50
    • +168
    /library/mongodb/nx-mongo.tcl
    • -24
    • +41
    /library/mongodb/tests/nsf-gridfs.test
    • -29
    • +70
    /library/mongodb/tests/nsf-mongo.test
    • -3
    • +20
    /library/mongodb/tests/nx-mongo.test
    • -1
    • +9
    /library/mongodb/tests/nx-reference-many.test
    • -1
    • +9
    /library/mongodb/tests/nx-reference-one.test
    • -2
    • +7
    /library/mongodb/tests/nx-serialize.test
- nx.tcl: Throw error exceptions using "return -code error", to exclude the unevaluated error cmd statement from the trace message

Adding a todo

- At two or three locations, we used to compute the method path using different helpers (CallStackMethodPath, NsfMethodNamePath) etc. I tried to unify this by revising NsfMethodNamePath to accomodate the different uses.

- Besides, for required-argument checks, I included the method path

(for ensemble invocations) into the error messages.

- improve performance of mongo->tcl conversion by using predefined global strings

- updated TODO

nx-mongo: - updated documentation (switch back to mongo-c-driver, but comment usage of tagged version v0.8.1) - added support for rep types (allow for mappings between certain instance variables such as arrays or dicts to customizable representations in MongoDB) - added nx-serialize to test cases (simple state persistance for nx objects) - added nx-rep to test cases (rep types for "array" and "dict")

    • -17
    • +137
    /library/mongodb/nx-mongo.tcl
    • -0
    • +153
    /library/mongodb/tests/nx-rep.test
    • -0
    • +176
    /library/mongodb/tests/nx-serialize.test
- provide datarootdir to get rid of warning during configure

- fix bug in interaction between uplevel method from tcl procs

-nsf.c: - fix bug in interaction between uplevel method and interceptor transparency - extend regression test

- in case of multiple inheritance, make sure that all supporting classes haver already a procedence order defined

- implement simple persistent handle management based on per-thread objects

- reduce verbosity for FreeUnsetTraceVariable - return TCL_OK, even when FreeUnsetTraceVariable() fails (warning stays)

- improve woring in comments

- fix stub provisioning for Tcl 8.6.*

- change macro name from XOTCL to NSF

nx: - allow copy of objects with required arguments - use ::nsf::object::alloc in "copy" method - don't depend on method "trace", use directdispatch instead - remove method "-noinit" (nsf::object::alloc makes it obsolete) - extend regression test

- restore traces after object-serialize