nsfmongo.c

Clone Tools
  • last updated 8 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Provide support for TIP 627 (Tcl 8.7a6+ and Tcl 9)

TIP 627 introduces support for > 2^31 elements in object vectors

(e.g., number of words in a single Tcl command). For details, see

https://core.tcl-lang.org/tips/doc/trunk/tip/627.md

To provide also backwards compatibility, this change uses the macros

TCL_COMMAND_OBJPROC, TCL_CREATEOBJCOMMAND, TCL_NRCALLOBJPROC,

TCL_NRCREATECOMMAND, TCL_OBJCMDPROC_T, and TCL_OBJC_T.

  1. … 21 more files in changeset.
Added support for compiling with Tcl 9.0 (Many Thanks to Jan Nijtmans for first steps)

This version compiles cleanly at least with Tcl 8.6.* and Tcl 9.0 (fossil trunk),

having -pedantic and -Wextra defined.

  1. … 20 more files in changeset.
update copyright dates

  1. … 1 more file in changeset.
Minor cleanup

- reduce strlen operations

- reduce hard-coded constants

- perfer Tcl_Obj based interfaces of string based ones (opens opportunities for special objtypes)

improve regularity and linebreaking in comments (mostly function headers)

  1. … 16 more files in changeset.
improve spelling: move closer to the linux documentation recommendations

  1. … 19 more files in changeset.
silence gcc7+: use attribute based approach for denoting fall through in case statements

  1. … 4 more files in changeset.
improve documentation

  1. … 20 more files in changeset.
Change http:// occurrences to https://, if applicable (URLs tested)

  1. … 57 more files in changeset.
- remove dead assignment - add cppcheck target

  1. … 1 more file in changeset.
Removed last deprecated call of the mongo-c-driever (mongoc_collection_create_index())

update copyright information

  1. … 1 more file in changeset.
change READE to markdown syntax

  1. … 2 more files in changeset.
updating mongodb interface for 2.2: - update to mongodb-c-driver 1.11.0 - reduce number of calls to deprecated driver functions as far as possible - improve cleanness of compilation (provde prototypes etc.) - bump version number to 2.2

  1. … 6 more files in changeset.
make sure to initialize all variables also in error cases

reduce variable scope and minor cleanup

use mongoc_iovec_t instead of struct iovec iov to improve cross-platform compatibility

improve comments

  1. … 13 more files in changeset.
Use snprintf() instead of sprintf() to protect better against potential buffer overflows

  1. … 8 more files in changeset.
- Use uniform spelling of "Tcl" - Fix more spelling errors

  1. … 18 more files in changeset.
Improve spelling

  1. … 43 more files in changeset.
- 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.