Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-16840

Support float types in template language

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Fix
    • Priority: Icon: Critical - P2 Critical - P2
    • None
    • Affects Version/s: 2.8.0-rc4
    • Component/s: Shell
    • Labels:

      Problem

      Currently there are several helpers in the template language (see scripting/bson_template_evaluator.cpp) for creating various random or sequential integers.

      Geo data relies upon the usage of floating point numbers. Current issues

      • No helper to generate floating point numbers
      • Current integer helpers will throw a stack trace if a float is passed, eg
        tests.push( { name: "testing",
                      tags: ['insert','sanity','daily','weekly','monthly'],
                      pre: function( collection ) { collection.drop(); },
                      ops: [
                          { op:  "insert", 
                            doc: { x: { {"#RAND_INT":[-73.965095, -73.961673]  } } }
                      ] } );
        

        Will result in

        ----- BEGIN BACKTRACE -----
        {"backtrace":[{"b":"104245000","o":"1B1189"},{"b":"104245000","o":"16B340"},{"b":"104245000","o":"158325"},{"b":"104245000","o":"138F93"},{"b":"104245000","o":"1333EE"},{"b":"104245000","o":"12FA0D"},{"b":"104245000","o":"1E5461"},{"b":"7FFF9187C000","o":"14772"},{"b":"7FFF9187C000","o":"11A1"}],"processInfo":{ "mongodbVersion" : "2.8.0-rc4", "gitVersion" : "3ad571742911f04b307f0071979425511c4f2570", "uname" : { "sysname" : "Darwin", "release" : "12.5.0", "version" : "Darwin Kernel Version 12.5.0: Sun Sep 29 13:33:47 PDT 2013; root:xnu-2050.48.12~1/RELEASE_X86_64", "machine" : "x86_64" }, "somap" : [ { "path" : "/Users/alvinrichards/Desktop/Work/10gen/software/latest/bin/mongo", "machType" : 2, "b" : "104245000", "buildId" : "4FC6D185AF883CD3BECF00D94098B4B4" }, { "path" : "/usr/lib/libSystem.B.dylib", "machType" : 6, "b" : "7FFF8E50C000", "buildId" : "DF030DDBDF223769A8CD9806DDB84008" }, { "path" : "/usr/lib/libc++.1.dylib", "machType" : 6, "b" : "7FFF96888000", "buildId" : "20E31B9019B93C2AA9EB474E08F9FE05" }, { "path" : "/usr/lib/system/libcache.dylib", "machType" : 6, "b" : "7FFF8CF7E000", "buildId" : "65187C6E3FBF3EB8A1AA389445E2984D" }, { "path" : "/usr/lib/system/libcommonCrypto.dylib", "machType" : 6, "b" : "7FFF97DA0000", "buildId" : "BAAFE0C9BB863CA788C0E3CBA98DA06F" }, { "path" : "/usr/lib/system/libcompiler_rt.dylib", "machType" : 6, "b" : "7FFF8E07F000", "buildId" : "08F8731D596139F1AD004590321D24A9" }, { "path" : "/usr/lib/system/libcopyfile.dylib", "machType" : 6, "b" : "7FFF97CCD000", "buildId" : "30824A6767433D998DC392578FA9D7CB" }, { "path" : "/usr/lib/system/libdispatch.dylib", "machType" : 6, "b" : "7FFF94203000", "buildId" : "D26996BFFC5739EB8829F63585561E09" }, { "path" : "/usr/lib/system/libdnsinfo.dylib", "machType" : 6, "b" : "7FFF953F8000", "buildId" : "14202FFBC3CA3FCC94B014611BF8692D" }, { "path" : "/usr/lib/system/libdyld.dylib", "machType" : 6, "b" : "7FFF9659A000", "buildId" : "F59367C9C110382BA6959035A6DD387E" }, { "path" : "/usr/lib/system/libkeymgr.dylib", "machType" : 6, "b" : "7FFF8E871000", "buildId" : "CC9E3394BE16397F926BE579B60EE429" }, { "path" : "/usr/lib/system/liblaunch.dylib", "machType" : 6, "b" : "7FFF92728000", "buildId" : "2F71CAF86524329EAC56C506658B4C0C" }, { "path" : "/usr/lib/system/libmacho.dylib", "machType" : 6, "b" : "7FFF92CE0000", "buildId" : "BF332AD9E89F387E92A46E1AB74BD4D9" }, { "path" : "/usr/lib/system/libquarantine.dylib", "machType" : 6, "b" : "7FFF930B4000", "buildId" : "143B726EDF4737A890AAF059CFD1A2E4" }, { "path" : "/usr/lib/system/libremovefile.dylib", "machType" : 6, "b" : "7FFF910B7000", "buildId" : "6763BC8E18B83AD98FFAB43713A7264F" }, { "path" : "/usr/lib/system/libsystem_blocks.dylib", "machType" : 6, "b" : "7FFF9477E000", "buildId" : "D92DCBC3541C37BDAADEACC75A0C59C8" }, { "path" : "/usr/lib/system/libsystem_c.dylib", "machType" : 6, "b" : "7FFF9187C000", "buildId" : "543B05AECFA53EFE8E5877225411BA6B" }, { "path" : "/usr/lib/system/libsystem_dnssd.dylib", "machType" : 6, "b" : "7FFF99002000", "buildId" : "BDCB8566018934C0963435ABD3EFE25B" }, { "path" : "/usr/lib/system/libsystem_info.dylib", "machType" : 6, "b" : "7FFF94DB2000", "buildId" : "4FFCA2427F04365F87A6D4EFB89503C1" }, { "path" : "/usr/lib/system/libsystem_kernel.dylib", "machType" : 6, "b" : "7FFF91CA7000", "buildId" : "4B7993C3F62D3AC1AF92414A0D6EED5E" }, { "path" : "/usr/lib/system/libsystem_m.dylib", "machType" : 6, "b" : "7FFF8E085000", "buildId" : "B434BE5C25AB3EBDBAA75304B34E3441" }, { "path" : "/usr/lib/system/libsystem_network.dylib", "machType" : 6, "b" : "7FFF92964000", "buildId" : "0D99F24E56FE380FB81B4A4C630EE587" }, { "path" : "/usr/lib/system/libsystem_notify.dylib", "machType" : 6, "b" : "7FFF8E073000", "buildId" : "1E490CB293113B36837237D3FB0FD818" }, { "path" : "/usr/lib/system/libsystem_sandbox.dylib", "machType" : 6, "b" : "7FFF97DB8000", "buildId" : "B739DA63B675387AAD84412A651143C0" }, { "path" : "/usr/lib/system/libunc.dylib", "machType" : 6, "b" : "7FFF961DE000", "buildId" : "92805328CD3634FF9436571AB0485072" }, { "path" : "/usr/lib/system/libunwind.dylib", "machType" : 6, "b" : "7FFF9799A000", "buildId" : "21703D362DAB3D8B8442EAAB23C060D3" }, { "path" : "/usr/lib/system/libxpc.dylib", "machType" : 6, "b" : "7FFF94780000", "buildId" : "70BC645B69523264930CC835010CCEF9" }, { "path" : "/usr/lib/system/libcorecrypto.dylib", "machType" : 6, "b" : "7FFF8EB7B000", "buildId" : "CE0C29A3C420339BADAA52F4683233CC" }, { "path" : "/usr/lib/libobjc.A.dylib", "machType" : 6, "b" : "7FFF96B94000", "buildId" : "90D31928F48D3E37874F220A51FD9E37" }, { "path" : "/usr/lib/libauto.dylib", "machType" : 6, "b" : "7FFF97CDD000", "buildId" : "AD5A4CE7CB53313C9FAE673303CC2D35" }, { "path" : "/usr/lib/libc++abi.dylib", "machType" : 6, "b" : "7FFF9120C000", "buildId" : "D86169F39F31377A9AF3DB17142052E4" }, { "path" : "/usr/lib/libDiagnosticMessagesClient.dylib", "machType" : 6, "b" : "7FFF8D3A9000", "buildId" : "8548E0DC0D2F30B6B045FE8A038E76D8" } ] }}
         mongo(_ZN5mongo15printStackTraceERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE+0x39) [0x1043f6189]
         mongo(_ZN5mongo10logContextEPKc+0x100) [0x1043b0340]
         mongo(_ZN5mongo12verifyFailedEPKcS1_j+0x1B5) [0x10439d325]
         mongo(_ZN5mongoL8fixQueryERKNS_7BSONObjERNS_21BsonTemplateEvaluatorE+0xF3) [0x10437df93]
         mongo(_ZN5mongo14BenchRunWorker24generateLoadOnConnectionEPNS_12DBClientBaseE+0x34AE) [0x1043783ee]
         mongo(_ZN5mongo14BenchRunWorker3runEv+0xBD) [0x104374a0d]
         mongo(_ZN5boost12_GLOBAL__N_112thread_proxyEPv+0xB1) [0x10442a461]
         libsystem_c.dylib(_pthread_start+0x147) [0x7fff91890772]
         libsystem_c.dylib(thread_start+0xD) [0x7fff9187d1a1]
        -----  END BACKTRACE  -----
        

      Solution

      Provide template helpers for float dataypes

            Assignee:
            david.daly@mongodb.com David Daly
            Reporter:
            alvin Alvin Richards (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: