mORMot and Open Source friends
Check-in [25ac91e5c3]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:{5732} (hopefully) last try to circumvent Delphi 2010 compilation bug
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 25ac91e5c34f82da5ee170f849cbe5cf1426ae93
User & Date: ab 2020-02-24 11:27:39
Context
2020-02-24
17:40
{5733} reimplemented crc32cfast() in fast x86_64 / i386 asm using Maxim feedback check-in: 2252d725bf user: ab tags: trunk
11:27
{5732} (hopefully) last try to circumvent Delphi 2010 compilation bug check-in: 25ac91e5c3 user: ab tags: trunk
11:16
{5731} try to circumvent Delphi 2010 compilation bug check-in: a17132b166 user: ab tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to SynMongoDB.pas.

82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
...
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
  SynCrtSock,
  SynCrypto, // MD5 and SHA1 needed for OpenAuth()
  SynCommons,
  SynTable, // for TSynTableStatement
  SynLog;



{ ************ BSON (Binary JSON) process }

type
  /// binary representation of a 128-bit decimal, stored as 16 bytes
  // - i.e. IEEE 754-2008 128-bit decimal floating point as used in the
  // BSON Decimal128 format, and processed by the TDecimal128 object
  TDecimal128Bits = record
................................................................................
// ! new Date()   ObjectId()   MinKey   MaxKey  /<jRegex>/<jOptions>
// see @http://docs.mongodb.org/manual/reference/mongodb-extended-json
// ! BSON('{id:new ObjectId(),doc:{name:"John",date:ISODate()}}');
// ! BSON('{name:"John",field:/acme.*corp/i}');
// - will create the BSON binary without any temporary TDocVariant storage, by
// calling JSONBufferToBSONDocument() on a temporary copy of the supplied JSON
function BSON(const JSON: RawUTF8; kind: PBSONElementType=nil): TBSONDocument; overload;
  {$ifdef HASINLINE}inline;{$endif}

/// store some object content, supplied as (extended) JSON and parameters,
// into BSON encoded binary
// - in addition to the JSON RFC specification strict mode, this method will
// handle some BSON-like extensions, e.g. unquoted field names
// - MongoDB Shell syntax will also be recognized to create TBSONVariant, like
// ! new Date()   ObjectId()   MinKey   MaxKey  /<jRegex>/<jOptions>






<







 







|







82
83
84
85
86
87
88

89
90
91
92
93
94
95
...
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
  SynCrtSock,
  SynCrypto, // MD5 and SHA1 needed for OpenAuth()
  SynCommons,
  SynTable, // for TSynTableStatement
  SynLog;



{ ************ BSON (Binary JSON) process }

type
  /// binary representation of a 128-bit decimal, stored as 16 bytes
  // - i.e. IEEE 754-2008 128-bit decimal floating point as used in the
  // BSON Decimal128 format, and processed by the TDecimal128 object
  TDecimal128Bits = record
................................................................................
// ! new Date()   ObjectId()   MinKey   MaxKey  /<jRegex>/<jOptions>
// see @http://docs.mongodb.org/manual/reference/mongodb-extended-json
// ! BSON('{id:new ObjectId(),doc:{name:"John",date:ISODate()}}');
// ! BSON('{name:"John",field:/acme.*corp/i}');
// - will create the BSON binary without any temporary TDocVariant storage, by
// calling JSONBufferToBSONDocument() on a temporary copy of the supplied JSON
function BSON(const JSON: RawUTF8; kind: PBSONElementType=nil): TBSONDocument; overload;
  {$ifndef ISDELPHI20092010}{$ifdef HASINLINE}inline;{$endif}{$endif}

/// store some object content, supplied as (extended) JSON and parameters,
// into BSON encoded binary
// - in addition to the JSON RFC specification strict mode, this method will
// handle some BSON-like extensions, e.g. unquoted field names
// - MongoDB Shell syntax will also be recognized to create TBSONVariant, like
// ! new Date()   ObjectId()   MinKey   MaxKey  /<jRegex>/<jOptions>

Changes to SynopseCommit.inc.

1
'1.18.5731'
|
1
'1.18.5732'