nsf

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

nsf.c: - when ::nsf::object::alloc is passed an empty name (2nd argument), behave like "new" method

- don't rely on the existence of a "trace" method

nsf.c: - new command ::nsf::object::alloc /class/ /obj/ ?/script/? alloc an object and execute script in the context. Can be used to regenerate an object in a old state.

serializer:

- fixed loading of objects with required data in the blueprint

(many thanks for david hopfmueller for reporting this)

- make use of nsf::object::alloc (1 command instead of 1 create + 2 evals)

- these changes imprived laading time of blueprint by about 25%

for OpenACS+xowiki

    • -13
    • +20
    /library/serialize/serializer.tcl
- make test for retrieving parsed parameters more safe

- update hint at end of build for NaviServer

- strip trailing spaces

- silence cppcheck

mongodb: - add flag "-puts" to method "show" of nx::mongo::Class to turnoff output to stdout - handle empty find operations for "find first" - added method pretty_variables to output available variables of a class in a similar style as in the definition - added low-level method "close" to nx::mongo

- Tcl's "package present" raises an error if the package is not present

- add more assertions - ensure computation of requires orders for recursive merges