flatsql 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -2
- package/wasm/flatsql-wasi-noeh.wasm +0 -0
- package/wasm/flatsql-wasi.wasm +0 -0
- package/wasm/flatsql.js +1 -1
- package/wasm/flatsql.wasm +0 -0
- package/wasm/index.d.ts +10 -0
- package/wasm/index.js +72 -23
- package/wasm/standalone.d.ts +8 -0
- package/wasm/standalone.js +24 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flatsql",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "SQL queries over raw FlatBuffer storage - zero conversion, real-time indexing, pure streaming",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -67,10 +67,11 @@
|
|
|
67
67
|
"test:wasm": "node wasm/test-bulk-ingest.mjs",
|
|
68
68
|
"dev": "tsc --watch",
|
|
69
69
|
"serve": "vite docs --port 8081",
|
|
70
|
+
"check:nav": "node scripts/check-sdn-stack-nav.mjs flatsql docs/index.html",
|
|
70
71
|
"bench": "node bench/flatsql-perf.mjs",
|
|
71
72
|
"bench:perf": "node bench/flatsql-perf.mjs",
|
|
72
73
|
"bench:perf:profile": "node bench/flatsql-perf.mjs --profile",
|
|
73
|
-
"prepublishOnly": "npm run build && npm run test:wasi && npm run test:wasmedge && npm test -- --runInBand --runTestsByPath test/package-exports.test.ts",
|
|
74
|
+
"prepublishOnly": "npm run build && npm run test:wasi && npm run test:wasmedge && npm test -- --runInBand --runTestsByPath test/package-exports.test.ts test/wasm-generic-extractor.test.ts test/wasm-pointer.test.ts",
|
|
74
75
|
"emsdk:install": "bash scripts/install-emsdk.sh",
|
|
75
76
|
"emsdk:env": "echo 'Run: source packages/emsdk/emsdk_env.sh'",
|
|
76
77
|
"test:wasi": "node --experimental-wasm-exnref --experimental-vm-modules node_modules/jest/bin/jest.js --runTestsByPath test/wasi.test.ts test/standalone-wasm-imports.test.ts",
|
|
Binary file
|
package/wasm/flatsql-wasi.wasm
CHANGED
|
Binary file
|
package/wasm/flatsql.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
async function FlatSQL(moduleArg={}){var moduleRtn;var Module=moduleArg;var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(ENVIRONMENT_IS_NODE){const{createRequire}=await import("module");var require=createRequire(import.meta.url)}var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");if(_scriptName.startsWith("file:")){scriptDirectory=require("path").dirname(require("url").fileURLToPath(_scriptName))+"/"}readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var isFileURI=filename=>filename.startsWith("file://");var readyPromiseResolve,readyPromiseReject;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var HEAP64,HEAPU64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports["Da"]()}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("flatsql.wasm")}return new URL("flatsql.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=applySignatureConversions(wasmExports);assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var noExitRuntime=true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var exceptionCaught=[];var uncaughtExceptionCount=0;var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);function ___cxa_begin_catch(ptr){ptr>>>=0;var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);return ___cxa_get_exception_ptr(ptr)}var exceptionLast=0;var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=0};class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>>2>>>0]=type}get_type(){return HEAPU32[this.ptr+4>>>2>>>0]}set_destructor(destructor){HEAPU32[this.ptr+8>>>2>>>0]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>>2>>>0]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12>>>0]=caught}get_caught(){return HEAP8[this.ptr+12>>>0]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>>0]=rethrown}get_rethrown(){return HEAP8[this.ptr+13>>>0]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>>2>>>0]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>>2>>>0]}}var setTempRet0=val=>__emscripten_tempret_set(val);var findMatchingCatch=args=>{var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var caughtType of args){if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};function ___cxa_find_matching_catch_2(){return findMatchingCatch([])}function ___cxa_find_matching_catch_3(arg0){arg0>>>=0;return findMatchingCatch([arg0])}var ___cxa_rethrow=()=>{var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}___cxa_increment_exception_refcount(ptr);exceptionLast=ptr;throw exceptionLast};function ___cxa_throw(ptr,type,destructor){ptr>>>=0;type>>>=0;destructor>>>=0;var info=new ExceptionInfo(ptr);info.init(type,destructor);___cxa_increment_exception_refcount(ptr);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;function ___resumeException(ptr){ptr>>>=0;if(!exceptionLast){exceptionLast=ptr}throw exceptionLast}function ___syscall_chmod(path,mode){path>>>=0}function ___syscall_faccessat(dirfd,path,amode,flags){path>>>=0}var ___syscall_fchmod=(fd,mode)=>{};var ___syscall_fchown32=(fd,owner,group)=>{};var UTF8Decoder=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{idx>>>=0;var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>{ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):""};var SYSCALLS={varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_fcntl64(fd,cmd,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;return 0}function ___syscall_fstat64(fd,buf){buf>>>=0}function ___syscall_ftruncate64(fd,length){length=bigintToI53Checked(length)}function ___syscall_getcwd(buf,size){buf>>>=0;size>>>=0}function ___syscall_lstat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_mkdirat(dirfd,path,mode){path>>>=0}function ___syscall_newfstatat(dirfd,path,buf,flags){path>>>=0;buf>>>=0}function ___syscall_openat(dirfd,path,flags,varargs){path>>>=0;varargs>>>=0;SYSCALLS.varargs=varargs}function ___syscall_readlinkat(dirfd,path,buf,bufsize){path>>>=0;buf>>>=0;bufsize>>>=0}function ___syscall_rmdir(path){path>>>=0}function ___syscall_stat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_unlinkat(dirfd,path,flags){path>>>=0}function ___syscall_utimensat(dirfd,path,times,flags){path>>>=0;times>>>=0}var __abort_js=()=>abort("");var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);tmPtr>>>=0;var date=new Date(time*1e3);HEAP32[tmPtr>>>2>>>0]=date.getSeconds();HEAP32[tmPtr+4>>>2>>>0]=date.getMinutes();HEAP32[tmPtr+8>>>2>>>0]=date.getHours();HEAP32[tmPtr+12>>>2>>>0]=date.getDate();HEAP32[tmPtr+16>>>2>>>0]=date.getMonth();HEAP32[tmPtr+20>>>2>>>0]=date.getFullYear()-1900;HEAP32[tmPtr+24>>>2>>>0]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>>2>>>0]=yday;HEAP32[tmPtr+36>>>2>>>0]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>>2>>>0]=dst}var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.codePointAt(i);if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;i++}}heap[outIdx>>>0]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var __tzset_js=function(timezone,daylight,std_name,dst_name){timezone>>>=0;daylight>>>=0;std_name>>>=0;dst_name>>>=0;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>>2>>>0]=stdTimezoneOffset*60;HEAP32[daylight>>>2>>>0]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset<winterOffset){stringToUTF8(winterName,std_name,17);stringToUTF8(summerName,dst_name,17)}else{stringToUTF8(winterName,dst_name,17);stringToUTF8(summerName,std_name,17)}};var _emscripten_get_now=()=>performance.now();var _emscripten_date_now=()=>Date.now();var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);ptime>>>=0;if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);HEAP64[ptime>>>3>>>0]=BigInt(nsec);return 0}var getHeapMax=()=>4294901760;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize>>>=0;var oldSize=HEAPU8.length;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};function _environ_get(__environ,environ_buf){__environ>>>=0;environ_buf>>>=0;var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>>2>>>0]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0}var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};function _environ_sizes_get(penviron_count,penviron_buf_size){penviron_count>>>=0;penviron_buf_size>>>=0;var strings=getEnvStrings();HEAPU32[penviron_count>>>2>>>0]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>>2>>>0]=bufSize;return 0}var _fd_close=fd=>52;function _fd_fdstat_get(fd,pbuf){pbuf>>>=0;var rightsBase=0;var rightsInheriting=0;var flags=0;{var type=2;if(fd==0){rightsBase=2}else if(fd==1||fd==2){rightsBase=64}flags=1}HEAP8[pbuf>>>0]=type;HEAP16[pbuf+2>>>1>>>0]=flags;HEAP64[pbuf+8>>>3>>>0]=BigInt(rightsBase);HEAP64[pbuf+16>>>3>>>0]=BigInt(rightsInheriting);return 0}function _fd_read(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;return 52}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);newOffset>>>=0;return 70}var _fd_sync=fd=>52;var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer));buffer.length=0}else{buffer.push(curr)}};function _fd_write(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j>>>0])}num+=len}HEAPU32[pnum>>>2>>>0]=num;return 0}function _llvm_eh_typeid_for(type){type>>>=0;return type}var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer>>>0)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="pointer")return ret>>>0;if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func(...cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;var _free,_malloc,_flatsql_create_db,_flatsql_destroy_db,_flatsql_register_file_id,_flatsql_enable_demo_extractors,_flatsql_ingest,_flatsql_ingest_one,_flatsql_register_source,_flatsql_create_unified_views,_flatsql_ingest_with_source,_flatsql_ingest_one_with_source,_flatsql_query,_flatsql_query_params,_flatsql_query_many,_flatsql_batch_result_count,_flatsql_select_batch_result,_flatsql_get_error,_flatsql_build_query_cache_key,_flatsql_build_response_artifact_cache_key,_flatsql_register_query_template,_flatsql_query_template,_flatsql_clear_query_cache,_flatsql_configure_query_cache,_flatsql_query_cache_hits,_flatsql_query_cache_misses,_flatsql_query_cache_size,_flatsql_query_cache_generation,_flatsql_query_cache_max_entries,_flatsql_query_cache_max_rows,_flatsql_result_column_count,_flatsql_result_row_count,_flatsql_result_column_name,_flatsql_result_cell_type,_flatsql_result_cell_number,_flatsql_result_cell_string,_flatsql_result_cell_blob,_flatsql_result_cell_blob_size,_flatsql_export_data,_flatsql_query_raw_flatbuffer_stream,_flatsql_response_artifact_data,_flatsql_response_artifact_size,_flatsql_response_artifact_row_count,_flatsql_response_artifact_column_count,_flatsql_export_size,_flatsql_load_and_rebuild,_flatsql_reserve_storage,_flatsql_load_from_db,_flatsql_create_test_user,_flatsql_test_buffer_size,_flatsql_create_test_post,_flatsql_create_test_mpe,_flatsql_create_test_telemetry,_flatsql_create_test_publish_event,_flatsql_get_stats_count,_flatsql_get_stat_table_name,_flatsql_get_stat_file_id,_flatsql_get_stat_record_count,_flatsql_reset_ingest_profile,_flatsql_get_ingest_profile_record_count,_flatsql_get_ingest_profile_byte_count,_flatsql_get_ingest_profile_decode_nanos,_flatsql_get_ingest_profile_append_nanos,_flatsql_get_ingest_profile_index_nanos,_flatsql_mark_deleted,_flatsql_get_deleted_count,_flatsql_clear_tombstones,_flatsql_get_sources_count,_flatsql_get_source_name,_flatsql_get_flatbuffer_by_id,_flatsql_get_flatbuffer_by_email,_flatsql_get_flatbuffer_by_index,_flatsql_get_raw_flatbuffer_size,_flatsql_get_raw_flatbuffer_sequence,_flatsql_get_storage_buffer,_flatsql_get_storage_size,_flatsql_set_encryption_key,_flatsql_is_encrypted,_flatsql_encrypt_buffer,_flatsql_decrypt_buffer,_flatsql_set_hmac_verification,_flatsql_is_hmac_enabled,_flatsql_compute_hmac,_flatsql_verify_hmac,_setThrew,__emscripten_tempret_set,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,___cxa_decrement_exception_refcount,___cxa_increment_exception_refcount,___cxa_can_catch,___cxa_get_exception_ptr,dynCall_v,dynCall_ii,dynCall_iii,dynCall_viiiiii,dynCall_vii,dynCall_viii,dynCall_iiii,dynCall_iiiiii,dynCall_vi,dynCall_viiii,dynCall_jii,dynCall_viiiii,dynCall_iiiiiii,dynCall_iiiii,dynCall_iiij,dynCall_iiid,dynCall_viijij,dynCall_viiijj,dynCall_jiiiii,dynCall_viiiiiiiiii,dynCall_vij,dynCall_iiji,dynCall_iijiii,dynCall_viij,dynCall_iid,dynCall_i,dynCall_dii,dynCall_di,dynCall_viidi,dynCall_vid,dynCall_vidd,dynCall_dd,dynCall_ddd,dynCall_jiiii,dynCall_viiiiiiii,dynCall_iiiddddddddi,dynCall_iijj,dynCall_iiiij,dynCall_iij,dynCall_iijii,dynCall_iidiiii,dynCall_j,dynCall_iiiiid,dynCall_viijii,dynCall_iiiiiiii,dynCall_iiiiiiiiiii,dynCall_iiiiiiiiiiiii,dynCall_fiii,dynCall_diii,dynCall_viiiiiii,dynCall_iiiiiiiiiiii,dynCall_viiiiiiiiiiiiiii,dynCall_iiiiiiiii,dynCall_iiiiij,dynCall_iiiiijj,dynCall_iiiiiijj,memory,__indirect_function_table,wasmMemory,wasmTable;function assignWasmExports(wasmExports){_free=Module["_free"]=wasmExports["Fa"];_malloc=Module["_malloc"]=wasmExports["Ga"];_flatsql_create_db=Module["_flatsql_create_db"]=wasmExports["Ha"];_flatsql_destroy_db=Module["_flatsql_destroy_db"]=wasmExports["Ia"];_flatsql_register_file_id=Module["_flatsql_register_file_id"]=wasmExports["Ja"];_flatsql_enable_demo_extractors=Module["_flatsql_enable_demo_extractors"]=wasmExports["Ka"];_flatsql_ingest=Module["_flatsql_ingest"]=wasmExports["La"];_flatsql_ingest_one=Module["_flatsql_ingest_one"]=wasmExports["Ma"];_flatsql_register_source=Module["_flatsql_register_source"]=wasmExports["Na"];_flatsql_create_unified_views=Module["_flatsql_create_unified_views"]=wasmExports["Oa"];_flatsql_ingest_with_source=Module["_flatsql_ingest_with_source"]=wasmExports["Pa"];_flatsql_ingest_one_with_source=Module["_flatsql_ingest_one_with_source"]=wasmExports["Qa"];_flatsql_query=Module["_flatsql_query"]=wasmExports["Ra"];_flatsql_query_params=Module["_flatsql_query_params"]=wasmExports["Sa"];_flatsql_query_many=Module["_flatsql_query_many"]=wasmExports["Ta"];_flatsql_batch_result_count=Module["_flatsql_batch_result_count"]=wasmExports["Ua"];_flatsql_select_batch_result=Module["_flatsql_select_batch_result"]=wasmExports["Va"];_flatsql_get_error=Module["_flatsql_get_error"]=wasmExports["Wa"];_flatsql_build_query_cache_key=Module["_flatsql_build_query_cache_key"]=wasmExports["Xa"];_flatsql_build_response_artifact_cache_key=Module["_flatsql_build_response_artifact_cache_key"]=wasmExports["Ya"];_flatsql_register_query_template=Module["_flatsql_register_query_template"]=wasmExports["Za"];_flatsql_query_template=Module["_flatsql_query_template"]=wasmExports["_a"];_flatsql_clear_query_cache=Module["_flatsql_clear_query_cache"]=wasmExports["$a"];_flatsql_configure_query_cache=Module["_flatsql_configure_query_cache"]=wasmExports["ab"];_flatsql_query_cache_hits=Module["_flatsql_query_cache_hits"]=wasmExports["bb"];_flatsql_query_cache_misses=Module["_flatsql_query_cache_misses"]=wasmExports["cb"];_flatsql_query_cache_size=Module["_flatsql_query_cache_size"]=wasmExports["db"];_flatsql_query_cache_generation=Module["_flatsql_query_cache_generation"]=wasmExports["eb"];_flatsql_query_cache_max_entries=Module["_flatsql_query_cache_max_entries"]=wasmExports["fb"];_flatsql_query_cache_max_rows=Module["_flatsql_query_cache_max_rows"]=wasmExports["gb"];_flatsql_result_column_count=Module["_flatsql_result_column_count"]=wasmExports["hb"];_flatsql_result_row_count=Module["_flatsql_result_row_count"]=wasmExports["ib"];_flatsql_result_column_name=Module["_flatsql_result_column_name"]=wasmExports["jb"];_flatsql_result_cell_type=Module["_flatsql_result_cell_type"]=wasmExports["kb"];_flatsql_result_cell_number=Module["_flatsql_result_cell_number"]=wasmExports["lb"];_flatsql_result_cell_string=Module["_flatsql_result_cell_string"]=wasmExports["mb"];_flatsql_result_cell_blob=Module["_flatsql_result_cell_blob"]=wasmExports["nb"];_flatsql_result_cell_blob_size=Module["_flatsql_result_cell_blob_size"]=wasmExports["ob"];_flatsql_export_data=Module["_flatsql_export_data"]=wasmExports["pb"];_flatsql_query_raw_flatbuffer_stream=Module["_flatsql_query_raw_flatbuffer_stream"]=wasmExports["qb"];_flatsql_response_artifact_data=Module["_flatsql_response_artifact_data"]=wasmExports["rb"];_flatsql_response_artifact_size=Module["_flatsql_response_artifact_size"]=wasmExports["sb"];_flatsql_response_artifact_row_count=Module["_flatsql_response_artifact_row_count"]=wasmExports["tb"];_flatsql_response_artifact_column_count=Module["_flatsql_response_artifact_column_count"]=wasmExports["ub"];_flatsql_export_size=Module["_flatsql_export_size"]=wasmExports["vb"];_flatsql_load_and_rebuild=Module["_flatsql_load_and_rebuild"]=wasmExports["wb"];_flatsql_reserve_storage=Module["_flatsql_reserve_storage"]=wasmExports["xb"];_flatsql_load_from_db=Module["_flatsql_load_from_db"]=wasmExports["yb"];_flatsql_create_test_user=Module["_flatsql_create_test_user"]=wasmExports["zb"];_flatsql_test_buffer_size=Module["_flatsql_test_buffer_size"]=wasmExports["Ab"];_flatsql_create_test_post=Module["_flatsql_create_test_post"]=wasmExports["Bb"];_flatsql_create_test_mpe=Module["_flatsql_create_test_mpe"]=wasmExports["Cb"];_flatsql_create_test_telemetry=Module["_flatsql_create_test_telemetry"]=wasmExports["Db"];_flatsql_create_test_publish_event=Module["_flatsql_create_test_publish_event"]=wasmExports["Eb"];_flatsql_get_stats_count=Module["_flatsql_get_stats_count"]=wasmExports["Fb"];_flatsql_get_stat_table_name=Module["_flatsql_get_stat_table_name"]=wasmExports["Gb"];_flatsql_get_stat_file_id=Module["_flatsql_get_stat_file_id"]=wasmExports["Hb"];_flatsql_get_stat_record_count=Module["_flatsql_get_stat_record_count"]=wasmExports["Ib"];_flatsql_reset_ingest_profile=Module["_flatsql_reset_ingest_profile"]=wasmExports["Jb"];_flatsql_get_ingest_profile_record_count=Module["_flatsql_get_ingest_profile_record_count"]=wasmExports["Kb"];_flatsql_get_ingest_profile_byte_count=Module["_flatsql_get_ingest_profile_byte_count"]=wasmExports["Lb"];_flatsql_get_ingest_profile_decode_nanos=Module["_flatsql_get_ingest_profile_decode_nanos"]=wasmExports["Mb"];_flatsql_get_ingest_profile_append_nanos=Module["_flatsql_get_ingest_profile_append_nanos"]=wasmExports["Nb"];_flatsql_get_ingest_profile_index_nanos=Module["_flatsql_get_ingest_profile_index_nanos"]=wasmExports["Ob"];_flatsql_mark_deleted=Module["_flatsql_mark_deleted"]=wasmExports["Pb"];_flatsql_get_deleted_count=Module["_flatsql_get_deleted_count"]=wasmExports["Qb"];_flatsql_clear_tombstones=Module["_flatsql_clear_tombstones"]=wasmExports["Rb"];_flatsql_get_sources_count=Module["_flatsql_get_sources_count"]=wasmExports["Sb"];_flatsql_get_source_name=Module["_flatsql_get_source_name"]=wasmExports["Tb"];_flatsql_get_flatbuffer_by_id=Module["_flatsql_get_flatbuffer_by_id"]=wasmExports["Ub"];_flatsql_get_flatbuffer_by_email=Module["_flatsql_get_flatbuffer_by_email"]=wasmExports["Vb"];_flatsql_get_flatbuffer_by_index=Module["_flatsql_get_flatbuffer_by_index"]=wasmExports["Wb"];_flatsql_get_raw_flatbuffer_size=Module["_flatsql_get_raw_flatbuffer_size"]=wasmExports["Xb"];_flatsql_get_raw_flatbuffer_sequence=Module["_flatsql_get_raw_flatbuffer_sequence"]=wasmExports["Yb"];_flatsql_get_storage_buffer=Module["_flatsql_get_storage_buffer"]=wasmExports["Zb"];_flatsql_get_storage_size=Module["_flatsql_get_storage_size"]=wasmExports["_b"];_flatsql_set_encryption_key=Module["_flatsql_set_encryption_key"]=wasmExports["$b"];_flatsql_is_encrypted=Module["_flatsql_is_encrypted"]=wasmExports["ac"];_flatsql_encrypt_buffer=Module["_flatsql_encrypt_buffer"]=wasmExports["bc"];_flatsql_decrypt_buffer=Module["_flatsql_decrypt_buffer"]=wasmExports["cc"];_flatsql_set_hmac_verification=Module["_flatsql_set_hmac_verification"]=wasmExports["dc"];_flatsql_is_hmac_enabled=Module["_flatsql_is_hmac_enabled"]=wasmExports["ec"];_flatsql_compute_hmac=Module["_flatsql_compute_hmac"]=wasmExports["fc"];_flatsql_verify_hmac=Module["_flatsql_verify_hmac"]=wasmExports["gc"];_setThrew=wasmExports["hc"];__emscripten_tempret_set=wasmExports["ic"];__emscripten_stack_restore=wasmExports["jc"];__emscripten_stack_alloc=wasmExports["kc"];_emscripten_stack_get_current=wasmExports["lc"];___cxa_decrement_exception_refcount=wasmExports["mc"];___cxa_increment_exception_refcount=wasmExports["nc"];___cxa_can_catch=wasmExports["oc"];___cxa_get_exception_ptr=wasmExports["pc"];dynCall_v=wasmExports["qc"];dynCall_ii=wasmExports["rc"];dynCall_iii=wasmExports["sc"];dynCall_viiiiii=wasmExports["tc"];dynCall_vii=wasmExports["uc"];dynCall_viii=wasmExports["vc"];dynCall_iiii=wasmExports["wc"];dynCall_iiiiii=wasmExports["xc"];dynCall_vi=wasmExports["yc"];dynCall_viiii=wasmExports["zc"];dynCall_jii=wasmExports["Ac"];dynCall_viiiii=wasmExports["Bc"];dynCall_iiiiiii=wasmExports["Cc"];dynCall_iiiii=wasmExports["Dc"];dynCall_iiij=wasmExports["Ec"];dynCall_iiid=wasmExports["Fc"];dynCall_viijij=wasmExports["Gc"];dynCall_viiijj=wasmExports["Hc"];dynCall_jiiiii=wasmExports["Ic"];dynCall_viiiiiiiiii=wasmExports["Jc"];dynCall_vij=wasmExports["Kc"];dynCall_iiji=wasmExports["Lc"];dynCall_iijiii=wasmExports["Mc"];dynCall_viij=wasmExports["Nc"];dynCall_iid=wasmExports["Oc"];dynCall_i=wasmExports["Pc"];dynCall_dii=wasmExports["Qc"];dynCall_di=wasmExports["Rc"];dynCall_viidi=wasmExports["Sc"];dynCall_vid=wasmExports["Tc"];dynCall_vidd=wasmExports["dynCall_vidd"];dynCall_dd=wasmExports["dynCall_dd"];dynCall_ddd=wasmExports["dynCall_ddd"];dynCall_jiiii=wasmExports["Uc"];dynCall_viiiiiiii=wasmExports["Vc"];dynCall_iiiddddddddi=wasmExports["Wc"];dynCall_iijj=wasmExports["dynCall_iijj"];dynCall_iiiij=wasmExports["dynCall_iiiij"];dynCall_iij=wasmExports["dynCall_iij"];dynCall_iijii=wasmExports["dynCall_iijii"];dynCall_iidiiii=wasmExports["dynCall_iidiiii"];dynCall_j=wasmExports["Xc"];dynCall_iiiiid=wasmExports["Yc"];dynCall_viijii=wasmExports["dynCall_viijii"];dynCall_iiiiiiii=wasmExports["Zc"];dynCall_iiiiiiiiiii=wasmExports["dynCall_iiiiiiiiiii"];dynCall_iiiiiiiiiiiii=wasmExports["dynCall_iiiiiiiiiiiii"];dynCall_fiii=wasmExports["_c"];dynCall_diii=wasmExports["$c"];dynCall_viiiiiii=wasmExports["ad"];dynCall_iiiiiiiiiiii=wasmExports["bd"];dynCall_viiiiiiiiiiiiiii=wasmExports["cd"];dynCall_iiiiiiiii=wasmExports["dynCall_iiiiiiiii"];dynCall_iiiiij=wasmExports["dynCall_iiiiij"];dynCall_iiiiijj=wasmExports["dynCall_iiiiijj"];dynCall_iiiiiijj=wasmExports["dynCall_iiiiiijj"];memory=wasmMemory=wasmExports["Ca"];__indirect_function_table=wasmTable=wasmExports["Ea"]}var wasmImports={o:___cxa_begin_catch,p:___cxa_end_catch,a:___cxa_find_matching_catch_2,g:___cxa_find_matching_catch_3,P:___cxa_rethrow,m:___cxa_throw,W:___cxa_uncaught_exceptions,d:___resumeException,ua:___syscall_chmod,wa:___syscall_faccessat,va:___syscall_fchmod,ta:___syscall_fchown32,x:___syscall_fcntl64,sa:___syscall_fstat64,na:___syscall_ftruncate64,ma:___syscall_getcwd,pa:___syscall_lstat64,ia:___syscall_mkdirat,qa:___syscall_newfstatat,ea:___syscall_openat,ca:___syscall_readlinkat,ba:___syscall_rmdir,ra:___syscall_stat64,$:___syscall_unlinkat,_:___syscall_utimensat,T:__abort_js,ga:__localtime_js,ha:__tzset_js,fa:_clock_time_get,M:_emscripten_date_now,L:_emscripten_get_now,Y:_emscripten_resize_heap,ka:_environ_get,la:_environ_sizes_get,N:_fd_close,Z:_fd_fdstat_get,da:_fd_read,ja:_fd_seek,oa:_fd_sync,aa:_fd_write,w:invoke_di,G:invoke_dii,F:invoke_diii,J:invoke_fiii,t:invoke_i,c:invoke_ii,H:invoke_iid,e:invoke_iii,E:invoke_iiid,xa:invoke_iiiddddddddi,i:invoke_iiii,l:invoke_iiiii,V:invoke_iiiiid,n:invoke_iiiiii,s:invoke_iiiiiii,K:invoke_iiiiiiii,C:invoke_iiiiiiiiiiii,Ba:invoke_iiij,z:invoke_iiji,za:invoke_iijiii,X:invoke_j,I:invoke_jii,A:invoke_jiiii,Q:invoke_jiiiii,f:invoke_v,k:invoke_vi,D:invoke_vid,b:invoke_vii,O:invoke_viidi,h:invoke_viii,j:invoke_viiii,u:invoke_viiiii,r:invoke_viiiiii,v:invoke_viiiiiii,ya:invoke_viiiiiiii,y:invoke_viiiiiiiiii,B:invoke_viiiiiiiiiiiiiii,R:invoke_viiijj,S:invoke_viij,Aa:invoke_viijij,U:invoke_vij,q:_llvm_eh_typeid_for};function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vij(index,a1,a2){var sp=stackSave();try{dynCall_vij(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jii(index,a1,a2){var sp=stackSave();try{return dynCall_jii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiij(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viijij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viijij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viij(index,a1,a2,a3){var sp=stackSave();try{dynCall_viij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiijj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiijj(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiji(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiji(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iijiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iijiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iid(index,a1,a2){var sp=stackSave();try{return dynCall_iid(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_dii(index,a1,a2){var sp=stackSave();try{return dynCall_dii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_di(index,a1){var sp=stackSave();try{return dynCall_di(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viidi(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viidi(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vid(index,a1,a2){var sp=stackSave();try{dynCall_vid(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiddddddddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiddddddddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_j(index){var sp=stackSave();try{return dynCall_j(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiid(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_fiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{dynCall_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_pp=f=>a0=>f(a0)>>>0;var makeWrapper_p=f=>()=>f()>>>0;wasmExports["Ga"]=makeWrapper_pp(wasmExports["Ga"]);wasmExports["kc"]=makeWrapper_pp(wasmExports["kc"]);wasmExports["lc"]=makeWrapper_p(wasmExports["lc"]);wasmExports["pc"]=makeWrapper_pp(wasmExports["pc"]);return wasmExports}function run(){preRun();function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}var wasmExports;wasmExports=await (createWasm());run();if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}
|
|
1
|
+
async function FlatSQL(moduleArg={}){var moduleRtn;var Module=moduleArg;var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(ENVIRONMENT_IS_NODE){const{createRequire}=await import("module");var require=createRequire(import.meta.url)}var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");if(_scriptName.startsWith("file:")){scriptDirectory=require("path").dirname(require("url").fileURLToPath(_scriptName))+"/"}readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var isFileURI=filename=>filename.startsWith("file://");var readyPromiseResolve,readyPromiseReject;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var HEAP64,HEAPU64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports["Ea"]()}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("flatsql.wasm")}return new URL("flatsql.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=applySignatureConversions(wasmExports);assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var noExitRuntime=true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var exceptionCaught=[];var uncaughtExceptionCount=0;var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);function ___cxa_begin_catch(ptr){ptr>>>=0;var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);return ___cxa_get_exception_ptr(ptr)}var exceptionLast=0;var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=0};class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>>2>>>0]=type}get_type(){return HEAPU32[this.ptr+4>>>2>>>0]}set_destructor(destructor){HEAPU32[this.ptr+8>>>2>>>0]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>>2>>>0]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12>>>0]=caught}get_caught(){return HEAP8[this.ptr+12>>>0]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>>0]=rethrown}get_rethrown(){return HEAP8[this.ptr+13>>>0]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>>2>>>0]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>>2>>>0]}}var setTempRet0=val=>__emscripten_tempret_set(val);var findMatchingCatch=args=>{var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var caughtType of args){if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};function ___cxa_find_matching_catch_2(){return findMatchingCatch([])}function ___cxa_find_matching_catch_3(arg0){arg0>>>=0;return findMatchingCatch([arg0])}function ___cxa_find_matching_catch_4(arg0,arg1){arg0>>>=0;arg1>>>=0;return findMatchingCatch([arg0,arg1])}var ___cxa_rethrow=()=>{var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}___cxa_increment_exception_refcount(ptr);exceptionLast=ptr;throw exceptionLast};function ___cxa_throw(ptr,type,destructor){ptr>>>=0;type>>>=0;destructor>>>=0;var info=new ExceptionInfo(ptr);info.init(type,destructor);___cxa_increment_exception_refcount(ptr);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;function ___resumeException(ptr){ptr>>>=0;if(!exceptionLast){exceptionLast=ptr}throw exceptionLast}function ___syscall_chmod(path,mode){path>>>=0}function ___syscall_faccessat(dirfd,path,amode,flags){path>>>=0}var ___syscall_fchmod=(fd,mode)=>{};var ___syscall_fchown32=(fd,owner,group)=>{};var UTF8Decoder=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{idx>>>=0;var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>{ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):""};var SYSCALLS={varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_fcntl64(fd,cmd,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;return 0}function ___syscall_fstat64(fd,buf){buf>>>=0}function ___syscall_ftruncate64(fd,length){length=bigintToI53Checked(length)}function ___syscall_getcwd(buf,size){buf>>>=0;size>>>=0}function ___syscall_lstat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_mkdirat(dirfd,path,mode){path>>>=0}function ___syscall_newfstatat(dirfd,path,buf,flags){path>>>=0;buf>>>=0}function ___syscall_openat(dirfd,path,flags,varargs){path>>>=0;varargs>>>=0;SYSCALLS.varargs=varargs}function ___syscall_readlinkat(dirfd,path,buf,bufsize){path>>>=0;buf>>>=0;bufsize>>>=0}function ___syscall_rmdir(path){path>>>=0}function ___syscall_stat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_unlinkat(dirfd,path,flags){path>>>=0}function ___syscall_utimensat(dirfd,path,times,flags){path>>>=0;times>>>=0}var __abort_js=()=>abort("");var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);tmPtr>>>=0;var date=new Date(time*1e3);HEAP32[tmPtr>>>2>>>0]=date.getSeconds();HEAP32[tmPtr+4>>>2>>>0]=date.getMinutes();HEAP32[tmPtr+8>>>2>>>0]=date.getHours();HEAP32[tmPtr+12>>>2>>>0]=date.getDate();HEAP32[tmPtr+16>>>2>>>0]=date.getMonth();HEAP32[tmPtr+20>>>2>>>0]=date.getFullYear()-1900;HEAP32[tmPtr+24>>>2>>>0]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>>2>>>0]=yday;HEAP32[tmPtr+36>>>2>>>0]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>>2>>>0]=dst}var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.codePointAt(i);if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;i++}}heap[outIdx>>>0]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var __tzset_js=function(timezone,daylight,std_name,dst_name){timezone>>>=0;daylight>>>=0;std_name>>>=0;dst_name>>>=0;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>>2>>>0]=stdTimezoneOffset*60;HEAP32[daylight>>>2>>>0]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset<winterOffset){stringToUTF8(winterName,std_name,17);stringToUTF8(summerName,dst_name,17)}else{stringToUTF8(winterName,dst_name,17);stringToUTF8(summerName,std_name,17)}};var _emscripten_get_now=()=>performance.now();var _emscripten_date_now=()=>Date.now();var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);ptime>>>=0;if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);HEAP64[ptime>>>3>>>0]=BigInt(nsec);return 0}var getHeapMax=()=>4294901760;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize>>>=0;var oldSize=HEAPU8.length;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};function _environ_get(__environ,environ_buf){__environ>>>=0;environ_buf>>>=0;var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>>2>>>0]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0}var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};function _environ_sizes_get(penviron_count,penviron_buf_size){penviron_count>>>=0;penviron_buf_size>>>=0;var strings=getEnvStrings();HEAPU32[penviron_count>>>2>>>0]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>>2>>>0]=bufSize;return 0}var _fd_close=fd=>52;function _fd_fdstat_get(fd,pbuf){pbuf>>>=0;var rightsBase=0;var rightsInheriting=0;var flags=0;{var type=2;if(fd==0){rightsBase=2}else if(fd==1||fd==2){rightsBase=64}flags=1}HEAP8[pbuf>>>0]=type;HEAP16[pbuf+2>>>1>>>0]=flags;HEAP64[pbuf+8>>>3>>>0]=BigInt(rightsBase);HEAP64[pbuf+16>>>3>>>0]=BigInt(rightsInheriting);return 0}function _fd_read(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;return 52}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);newOffset>>>=0;return 70}var _fd_sync=fd=>52;var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer));buffer.length=0}else{buffer.push(curr)}};function _fd_write(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j>>>0])}num+=len}HEAPU32[pnum>>>2>>>0]=num;return 0}function _llvm_eh_typeid_for(type){type>>>=0;return type}var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer>>>0)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="pointer")return ret>>>0;if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func(...cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;var _free,_malloc,_flatsql_create_db,_flatsql_destroy_db,_flatsql_register_file_id,_flatsql_enable_demo_extractors,_flatsql_ingest,_flatsql_ingest_one,_flatsql_register_source,_flatsql_create_unified_views,_flatsql_ingest_with_source,_flatsql_ingest_one_with_source,_flatsql_query,_flatsql_query_params,_flatsql_query_many,_flatsql_batch_result_count,_flatsql_select_batch_result,_flatsql_get_error,_flatsql_build_query_cache_key,_flatsql_build_response_artifact_cache_key,_flatsql_register_query_template,_flatsql_query_template,_flatsql_clear_query_cache,_flatsql_configure_query_cache,_flatsql_query_cache_hits,_flatsql_query_cache_misses,_flatsql_query_cache_size,_flatsql_query_cache_generation,_flatsql_query_cache_max_entries,_flatsql_query_cache_max_rows,_flatsql_result_column_count,_flatsql_result_row_count,_flatsql_result_column_name,_flatsql_result_cell_type,_flatsql_result_cell_number,_flatsql_result_cell_string,_flatsql_result_cell_blob,_flatsql_result_cell_blob_size,_flatsql_export_data,_flatsql_query_raw_flatbuffer_stream,_flatsql_response_artifact_data,_flatsql_response_artifact_size,_flatsql_response_artifact_cache_hit,_flatsql_configure_raw_stream_cache,_flatsql_raw_stream_cache_hits,_flatsql_raw_stream_cache_misses,_flatsql_raw_stream_cache_size,_flatsql_raw_stream_cache_total_bytes,_flatsql_response_artifact_row_count,_flatsql_response_artifact_column_count,_flatsql_export_size,_flatsql_load_and_rebuild,_flatsql_reserve_storage,_flatsql_load_from_db,_flatsql_create_test_user,_flatsql_test_buffer_size,_flatsql_create_test_post,_flatsql_create_test_mpe,_flatsql_create_test_telemetry,_flatsql_create_test_publish_event,_flatsql_get_stats_count,_flatsql_get_stat_table_name,_flatsql_get_stat_file_id,_flatsql_get_stat_record_count,_flatsql_reset_ingest_profile,_flatsql_get_ingest_profile_record_count,_flatsql_get_ingest_profile_byte_count,_flatsql_get_ingest_profile_decode_nanos,_flatsql_get_ingest_profile_append_nanos,_flatsql_get_ingest_profile_index_nanos,_flatsql_mark_deleted,_flatsql_get_deleted_count,_flatsql_clear_tombstones,_flatsql_get_sources_count,_flatsql_get_source_name,_flatsql_get_flatbuffer_by_id,_flatsql_get_flatbuffer_by_email,_flatsql_get_flatbuffer_by_index,_flatsql_get_raw_flatbuffer_size,_flatsql_get_raw_flatbuffer_sequence,_flatsql_get_storage_buffer,_flatsql_get_storage_size,_flatsql_set_encryption_key,_flatsql_is_encrypted,_flatsql_encrypt_buffer,_flatsql_decrypt_buffer,_flatsql_set_hmac_verification,_flatsql_is_hmac_enabled,_flatsql_compute_hmac,_flatsql_verify_hmac,_setThrew,__emscripten_tempret_set,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,___cxa_decrement_exception_refcount,___cxa_increment_exception_refcount,___cxa_can_catch,___cxa_get_exception_ptr,dynCall_v,dynCall_ii,dynCall_iii,dynCall_viiiiii,dynCall_vii,dynCall_viii,dynCall_iiii,dynCall_iiiiii,dynCall_vi,dynCall_viiii,dynCall_jii,dynCall_viiiii,dynCall_iiiiiii,dynCall_iiiii,dynCall_iiij,dynCall_iiid,dynCall_viijij,dynCall_viiijj,dynCall_jiiiii,dynCall_viiiiiiiiii,dynCall_vij,dynCall_iiji,dynCall_iijiii,dynCall_viij,dynCall_iid,dynCall_i,dynCall_dii,dynCall_di,dynCall_viidi,dynCall_vid,dynCall_vidd,dynCall_dd,dynCall_ddd,dynCall_jiiii,dynCall_viiiiiiii,dynCall_iiiddddddddi,dynCall_iijj,dynCall_iiiij,dynCall_iij,dynCall_iijii,dynCall_iidiiii,dynCall_j,dynCall_iiiiid,dynCall_viijii,dynCall_iiiiiiii,dynCall_iiiiiiiiiii,dynCall_iiiiiiiiiiiii,dynCall_fiii,dynCall_diii,dynCall_viiiiiii,dynCall_iiiiiiiiiiii,dynCall_viiiiiiiiiiiiiii,dynCall_iiiiiiiii,dynCall_iiiiij,dynCall_iiiiijj,dynCall_iiiiiijj,memory,__indirect_function_table,wasmMemory,wasmTable;function assignWasmExports(wasmExports){_free=Module["_free"]=wasmExports["Ga"];_malloc=Module["_malloc"]=wasmExports["Ha"];_flatsql_create_db=Module["_flatsql_create_db"]=wasmExports["Ia"];_flatsql_destroy_db=Module["_flatsql_destroy_db"]=wasmExports["Ja"];_flatsql_register_file_id=Module["_flatsql_register_file_id"]=wasmExports["Ka"];_flatsql_enable_demo_extractors=Module["_flatsql_enable_demo_extractors"]=wasmExports["La"];_flatsql_ingest=Module["_flatsql_ingest"]=wasmExports["Ma"];_flatsql_ingest_one=Module["_flatsql_ingest_one"]=wasmExports["Na"];_flatsql_register_source=Module["_flatsql_register_source"]=wasmExports["Oa"];_flatsql_create_unified_views=Module["_flatsql_create_unified_views"]=wasmExports["Pa"];_flatsql_ingest_with_source=Module["_flatsql_ingest_with_source"]=wasmExports["Qa"];_flatsql_ingest_one_with_source=Module["_flatsql_ingest_one_with_source"]=wasmExports["Ra"];_flatsql_query=Module["_flatsql_query"]=wasmExports["Sa"];_flatsql_query_params=Module["_flatsql_query_params"]=wasmExports["Ta"];_flatsql_query_many=Module["_flatsql_query_many"]=wasmExports["Ua"];_flatsql_batch_result_count=Module["_flatsql_batch_result_count"]=wasmExports["Va"];_flatsql_select_batch_result=Module["_flatsql_select_batch_result"]=wasmExports["Wa"];_flatsql_get_error=Module["_flatsql_get_error"]=wasmExports["Xa"];_flatsql_build_query_cache_key=Module["_flatsql_build_query_cache_key"]=wasmExports["Ya"];_flatsql_build_response_artifact_cache_key=Module["_flatsql_build_response_artifact_cache_key"]=wasmExports["Za"];_flatsql_register_query_template=Module["_flatsql_register_query_template"]=wasmExports["_a"];_flatsql_query_template=Module["_flatsql_query_template"]=wasmExports["$a"];_flatsql_clear_query_cache=Module["_flatsql_clear_query_cache"]=wasmExports["ab"];_flatsql_configure_query_cache=Module["_flatsql_configure_query_cache"]=wasmExports["bb"];_flatsql_query_cache_hits=Module["_flatsql_query_cache_hits"]=wasmExports["cb"];_flatsql_query_cache_misses=Module["_flatsql_query_cache_misses"]=wasmExports["db"];_flatsql_query_cache_size=Module["_flatsql_query_cache_size"]=wasmExports["eb"];_flatsql_query_cache_generation=Module["_flatsql_query_cache_generation"]=wasmExports["fb"];_flatsql_query_cache_max_entries=Module["_flatsql_query_cache_max_entries"]=wasmExports["gb"];_flatsql_query_cache_max_rows=Module["_flatsql_query_cache_max_rows"]=wasmExports["hb"];_flatsql_result_column_count=Module["_flatsql_result_column_count"]=wasmExports["ib"];_flatsql_result_row_count=Module["_flatsql_result_row_count"]=wasmExports["jb"];_flatsql_result_column_name=Module["_flatsql_result_column_name"]=wasmExports["kb"];_flatsql_result_cell_type=Module["_flatsql_result_cell_type"]=wasmExports["lb"];_flatsql_result_cell_number=Module["_flatsql_result_cell_number"]=wasmExports["mb"];_flatsql_result_cell_string=Module["_flatsql_result_cell_string"]=wasmExports["nb"];_flatsql_result_cell_blob=Module["_flatsql_result_cell_blob"]=wasmExports["ob"];_flatsql_result_cell_blob_size=Module["_flatsql_result_cell_blob_size"]=wasmExports["pb"];_flatsql_export_data=Module["_flatsql_export_data"]=wasmExports["qb"];_flatsql_query_raw_flatbuffer_stream=Module["_flatsql_query_raw_flatbuffer_stream"]=wasmExports["rb"];_flatsql_response_artifact_data=Module["_flatsql_response_artifact_data"]=wasmExports["sb"];_flatsql_response_artifact_size=Module["_flatsql_response_artifact_size"]=wasmExports["tb"];_flatsql_response_artifact_cache_hit=Module["_flatsql_response_artifact_cache_hit"]=wasmExports["ub"];_flatsql_configure_raw_stream_cache=Module["_flatsql_configure_raw_stream_cache"]=wasmExports["vb"];_flatsql_raw_stream_cache_hits=Module["_flatsql_raw_stream_cache_hits"]=wasmExports["wb"];_flatsql_raw_stream_cache_misses=Module["_flatsql_raw_stream_cache_misses"]=wasmExports["xb"];_flatsql_raw_stream_cache_size=Module["_flatsql_raw_stream_cache_size"]=wasmExports["yb"];_flatsql_raw_stream_cache_total_bytes=Module["_flatsql_raw_stream_cache_total_bytes"]=wasmExports["zb"];_flatsql_response_artifact_row_count=Module["_flatsql_response_artifact_row_count"]=wasmExports["Ab"];_flatsql_response_artifact_column_count=Module["_flatsql_response_artifact_column_count"]=wasmExports["Bb"];_flatsql_export_size=Module["_flatsql_export_size"]=wasmExports["Cb"];_flatsql_load_and_rebuild=Module["_flatsql_load_and_rebuild"]=wasmExports["Db"];_flatsql_reserve_storage=Module["_flatsql_reserve_storage"]=wasmExports["Eb"];_flatsql_load_from_db=Module["_flatsql_load_from_db"]=wasmExports["Fb"];_flatsql_create_test_user=Module["_flatsql_create_test_user"]=wasmExports["Gb"];_flatsql_test_buffer_size=Module["_flatsql_test_buffer_size"]=wasmExports["Hb"];_flatsql_create_test_post=Module["_flatsql_create_test_post"]=wasmExports["Ib"];_flatsql_create_test_mpe=Module["_flatsql_create_test_mpe"]=wasmExports["Jb"];_flatsql_create_test_telemetry=Module["_flatsql_create_test_telemetry"]=wasmExports["Kb"];_flatsql_create_test_publish_event=Module["_flatsql_create_test_publish_event"]=wasmExports["Lb"];_flatsql_get_stats_count=Module["_flatsql_get_stats_count"]=wasmExports["Mb"];_flatsql_get_stat_table_name=Module["_flatsql_get_stat_table_name"]=wasmExports["Nb"];_flatsql_get_stat_file_id=Module["_flatsql_get_stat_file_id"]=wasmExports["Ob"];_flatsql_get_stat_record_count=Module["_flatsql_get_stat_record_count"]=wasmExports["Pb"];_flatsql_reset_ingest_profile=Module["_flatsql_reset_ingest_profile"]=wasmExports["Qb"];_flatsql_get_ingest_profile_record_count=Module["_flatsql_get_ingest_profile_record_count"]=wasmExports["Rb"];_flatsql_get_ingest_profile_byte_count=Module["_flatsql_get_ingest_profile_byte_count"]=wasmExports["Sb"];_flatsql_get_ingest_profile_decode_nanos=Module["_flatsql_get_ingest_profile_decode_nanos"]=wasmExports["Tb"];_flatsql_get_ingest_profile_append_nanos=Module["_flatsql_get_ingest_profile_append_nanos"]=wasmExports["Ub"];_flatsql_get_ingest_profile_index_nanos=Module["_flatsql_get_ingest_profile_index_nanos"]=wasmExports["Vb"];_flatsql_mark_deleted=Module["_flatsql_mark_deleted"]=wasmExports["Wb"];_flatsql_get_deleted_count=Module["_flatsql_get_deleted_count"]=wasmExports["Xb"];_flatsql_clear_tombstones=Module["_flatsql_clear_tombstones"]=wasmExports["Yb"];_flatsql_get_sources_count=Module["_flatsql_get_sources_count"]=wasmExports["Zb"];_flatsql_get_source_name=Module["_flatsql_get_source_name"]=wasmExports["_b"];_flatsql_get_flatbuffer_by_id=Module["_flatsql_get_flatbuffer_by_id"]=wasmExports["$b"];_flatsql_get_flatbuffer_by_email=Module["_flatsql_get_flatbuffer_by_email"]=wasmExports["ac"];_flatsql_get_flatbuffer_by_index=Module["_flatsql_get_flatbuffer_by_index"]=wasmExports["bc"];_flatsql_get_raw_flatbuffer_size=Module["_flatsql_get_raw_flatbuffer_size"]=wasmExports["cc"];_flatsql_get_raw_flatbuffer_sequence=Module["_flatsql_get_raw_flatbuffer_sequence"]=wasmExports["dc"];_flatsql_get_storage_buffer=Module["_flatsql_get_storage_buffer"]=wasmExports["ec"];_flatsql_get_storage_size=Module["_flatsql_get_storage_size"]=wasmExports["fc"];_flatsql_set_encryption_key=Module["_flatsql_set_encryption_key"]=wasmExports["gc"];_flatsql_is_encrypted=Module["_flatsql_is_encrypted"]=wasmExports["hc"];_flatsql_encrypt_buffer=Module["_flatsql_encrypt_buffer"]=wasmExports["ic"];_flatsql_decrypt_buffer=Module["_flatsql_decrypt_buffer"]=wasmExports["jc"];_flatsql_set_hmac_verification=Module["_flatsql_set_hmac_verification"]=wasmExports["kc"];_flatsql_is_hmac_enabled=Module["_flatsql_is_hmac_enabled"]=wasmExports["lc"];_flatsql_compute_hmac=Module["_flatsql_compute_hmac"]=wasmExports["mc"];_flatsql_verify_hmac=Module["_flatsql_verify_hmac"]=wasmExports["nc"];_setThrew=wasmExports["oc"];__emscripten_tempret_set=wasmExports["pc"];__emscripten_stack_restore=wasmExports["qc"];__emscripten_stack_alloc=wasmExports["rc"];_emscripten_stack_get_current=wasmExports["sc"];___cxa_decrement_exception_refcount=wasmExports["tc"];___cxa_increment_exception_refcount=wasmExports["uc"];___cxa_can_catch=wasmExports["vc"];___cxa_get_exception_ptr=wasmExports["wc"];dynCall_v=wasmExports["xc"];dynCall_ii=wasmExports["yc"];dynCall_iii=wasmExports["zc"];dynCall_viiiiii=wasmExports["Ac"];dynCall_vii=wasmExports["Bc"];dynCall_viii=wasmExports["Cc"];dynCall_iiii=wasmExports["Dc"];dynCall_iiiiii=wasmExports["Ec"];dynCall_vi=wasmExports["Fc"];dynCall_viiii=wasmExports["Gc"];dynCall_jii=wasmExports["Hc"];dynCall_viiiii=wasmExports["Ic"];dynCall_iiiiiii=wasmExports["Jc"];dynCall_iiiii=wasmExports["Kc"];dynCall_iiij=wasmExports["Lc"];dynCall_iiid=wasmExports["Mc"];dynCall_viijij=wasmExports["Nc"];dynCall_viiijj=wasmExports["Oc"];dynCall_jiiiii=wasmExports["Pc"];dynCall_viiiiiiiiii=wasmExports["Qc"];dynCall_vij=wasmExports["Rc"];dynCall_iiji=wasmExports["Sc"];dynCall_iijiii=wasmExports["Tc"];dynCall_viij=wasmExports["Uc"];dynCall_iid=wasmExports["Vc"];dynCall_i=wasmExports["Wc"];dynCall_dii=wasmExports["Xc"];dynCall_di=wasmExports["Yc"];dynCall_viidi=wasmExports["Zc"];dynCall_vid=wasmExports["_c"];dynCall_vidd=wasmExports["dynCall_vidd"];dynCall_dd=wasmExports["dynCall_dd"];dynCall_ddd=wasmExports["dynCall_ddd"];dynCall_jiiii=wasmExports["$c"];dynCall_viiiiiiii=wasmExports["ad"];dynCall_iiiddddddddi=wasmExports["bd"];dynCall_iijj=wasmExports["dynCall_iijj"];dynCall_iiiij=wasmExports["dynCall_iiiij"];dynCall_iij=wasmExports["dynCall_iij"];dynCall_iijii=wasmExports["dynCall_iijii"];dynCall_iidiiii=wasmExports["dynCall_iidiiii"];dynCall_j=wasmExports["cd"];dynCall_iiiiid=wasmExports["dd"];dynCall_viijii=wasmExports["dynCall_viijii"];dynCall_iiiiiiii=wasmExports["ed"];dynCall_iiiiiiiiiii=wasmExports["dynCall_iiiiiiiiiii"];dynCall_iiiiiiiiiiiii=wasmExports["dynCall_iiiiiiiiiiiii"];dynCall_fiii=wasmExports["fd"];dynCall_diii=wasmExports["gd"];dynCall_viiiiiii=wasmExports["hd"];dynCall_iiiiiiiiiiii=wasmExports["id"];dynCall_viiiiiiiiiiiiiii=wasmExports["jd"];dynCall_iiiiiiiii=wasmExports["dynCall_iiiiiiiii"];dynCall_iiiiij=wasmExports["dynCall_iiiiij"];dynCall_iiiiijj=wasmExports["dynCall_iiiiijj"];dynCall_iiiiiijj=wasmExports["dynCall_iiiiiijj"];memory=wasmMemory=wasmExports["Da"];__indirect_function_table=wasmTable=wasmExports["Fa"]}var wasmImports={l:___cxa_begin_catch,q:___cxa_end_catch,a:___cxa_find_matching_catch_2,g:___cxa_find_matching_catch_3,F:___cxa_find_matching_catch_4,R:___cxa_rethrow,n:___cxa_throw,X:___cxa_uncaught_exceptions,d:___resumeException,va:___syscall_chmod,xa:___syscall_faccessat,wa:___syscall_fchmod,ua:___syscall_fchown32,x:___syscall_fcntl64,ta:___syscall_fstat64,oa:___syscall_ftruncate64,na:___syscall_getcwd,qa:___syscall_lstat64,ja:___syscall_mkdirat,ra:___syscall_newfstatat,fa:___syscall_openat,da:___syscall_readlinkat,ca:___syscall_rmdir,sa:___syscall_stat64,aa:___syscall_unlinkat,$:___syscall_utimensat,V:__abort_js,ha:__localtime_js,ia:__tzset_js,ga:_clock_time_get,O:_emscripten_date_now,N:_emscripten_get_now,Z:_emscripten_resize_heap,la:_environ_get,ma:_environ_sizes_get,P:_fd_close,_:_fd_fdstat_get,ea:_fd_read,ka:_fd_seek,pa:_fd_sync,ba:_fd_write,w:invoke_di,H:invoke_dii,G:invoke_diii,L:invoke_fiii,t:invoke_i,c:invoke_ii,I:invoke_iid,e:invoke_iii,E:invoke_iiid,ya:invoke_iiiddddddddi,i:invoke_iiii,m:invoke_iiiii,W:invoke_iiiiid,o:invoke_iiiiii,s:invoke_iiiiiii,M:invoke_iiiiiiii,C:invoke_iiiiiiiiiiii,Ca:invoke_iiij,z:invoke_iiji,Aa:invoke_iijiii,Y:invoke_j,J:invoke_jii,A:invoke_jiiii,S:invoke_jiiiii,f:invoke_v,k:invoke_vi,D:invoke_vid,b:invoke_vii,Q:invoke_viidi,h:invoke_viii,j:invoke_viiii,u:invoke_viiiii,r:invoke_viiiiii,v:invoke_viiiiiii,za:invoke_viiiiiiii,y:invoke_viiiiiiiiii,B:invoke_viiiiiiiiiiiiiii,T:invoke_viiijj,U:invoke_viij,Ba:invoke_viijij,K:invoke_vij,p:_llvm_eh_typeid_for};function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vij(index,a1,a2){var sp=stackSave();try{dynCall_vij(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jii(index,a1,a2){var sp=stackSave();try{return dynCall_jii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiij(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viijij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viijij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viij(index,a1,a2,a3){var sp=stackSave();try{dynCall_viij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiijj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiijj(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiji(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiji(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iijiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iijiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iid(index,a1,a2){var sp=stackSave();try{return dynCall_iid(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_dii(index,a1,a2){var sp=stackSave();try{return dynCall_dii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_di(index,a1){var sp=stackSave();try{return dynCall_di(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viidi(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viidi(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vid(index,a1,a2){var sp=stackSave();try{dynCall_vid(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiddddddddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiddddddddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_j(index){var sp=stackSave();try{return dynCall_j(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiid(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_fiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{dynCall_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_pp=f=>a0=>f(a0)>>>0;var makeWrapper_p=f=>()=>f()>>>0;wasmExports["Ha"]=makeWrapper_pp(wasmExports["Ha"]);wasmExports["rc"]=makeWrapper_pp(wasmExports["rc"]);wasmExports["sc"]=makeWrapper_p(wasmExports["sc"]);wasmExports["wc"]=makeWrapper_pp(wasmExports["wc"]);return wasmExports}function run(){preRun();function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}var wasmExports;wasmExports=await (createWasm());run();if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}
|
|
2
2
|
;return moduleRtn}export default FlatSQL;
|
package/wasm/flatsql.wasm
CHANGED
|
Binary file
|
package/wasm/index.d.ts
CHANGED
|
@@ -125,6 +125,14 @@ export interface FlatSQLDatabase {
|
|
|
125
125
|
* as a native size-prefixed response stream.
|
|
126
126
|
*/
|
|
127
127
|
queryRawFlatBufferStream(sql: string, params?: QueryParam[]): Uint8Array;
|
|
128
|
+
lastRawStreamCacheHit(): boolean;
|
|
129
|
+
configureRawStreamCache(maxEntries: number, maxTotalBytes: number): void;
|
|
130
|
+
getRawStreamCacheStats(): {
|
|
131
|
+
hits: number;
|
|
132
|
+
misses: number;
|
|
133
|
+
entries: number;
|
|
134
|
+
totalBytes: number;
|
|
135
|
+
};
|
|
128
136
|
|
|
129
137
|
/**
|
|
130
138
|
* Export all data as a stream of size-prefixed FlatBuffers
|
|
@@ -474,4 +482,6 @@ export function initFlatSQL(options?: InitOptions | (() => Promise<any>)): Promi
|
|
|
474
482
|
*/
|
|
475
483
|
export function wasIntegrityVerified(): boolean;
|
|
476
484
|
|
|
485
|
+
export function __testWasmPointerToByteOffset(ptr: number): number;
|
|
486
|
+
|
|
477
487
|
export default initFlatSQL;
|
package/wasm/index.js
CHANGED
|
@@ -293,6 +293,12 @@ export async function initFlatSQL(moduleFactoryOrOptions) {
|
|
|
293
293
|
responseArtifactSize: Module.cwrap('flatsql_response_artifact_size', 'number', []),
|
|
294
294
|
responseArtifactRowCount: Module.cwrap('flatsql_response_artifact_row_count', 'number', []),
|
|
295
295
|
responseArtifactColumnCount: Module.cwrap('flatsql_response_artifact_column_count', 'number', []),
|
|
296
|
+
responseArtifactCacheHit: Module.cwrap('flatsql_response_artifact_cache_hit', 'number', []),
|
|
297
|
+
configureRawStreamCache: Module.cwrap('flatsql_configure_raw_stream_cache', 'number', ['number', 'number', 'number']),
|
|
298
|
+
rawStreamCacheHits: Module.cwrap('flatsql_raw_stream_cache_hits', 'number', ['number']),
|
|
299
|
+
rawStreamCacheMisses: Module.cwrap('flatsql_raw_stream_cache_misses', 'number', ['number']),
|
|
300
|
+
rawStreamCacheSize: Module.cwrap('flatsql_raw_stream_cache_size', 'number', ['number']),
|
|
301
|
+
rawStreamCacheTotalBytes: Module.cwrap('flatsql_raw_stream_cache_total_bytes', 'number', ['number']),
|
|
296
302
|
|
|
297
303
|
// Export/Import
|
|
298
304
|
exportData: Module.cwrap('flatsql_export_data', 'number', ['number']),
|
|
@@ -359,10 +365,32 @@ export function wasIntegrityVerified() {
|
|
|
359
365
|
return integrityVerified;
|
|
360
366
|
}
|
|
361
367
|
|
|
368
|
+
function wasmPointerToByteOffset(ptr) {
|
|
369
|
+
const numeric = Number(ptr);
|
|
370
|
+
if (!Number.isFinite(numeric)) {
|
|
371
|
+
throw new TypeError(`Invalid WASM pointer: ${ptr}`);
|
|
372
|
+
}
|
|
373
|
+
return numeric >>> 0;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
export const __testWasmPointerToByteOffset = wasmPointerToByteOffset;
|
|
377
|
+
|
|
378
|
+
function heapBytes(ptr, size) {
|
|
379
|
+
return new Uint8Array(Module.HEAPU8.buffer, wasmPointerToByteOffset(ptr), size);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
function copyHeapBytes(ptr, size) {
|
|
383
|
+
return heapBytes(ptr, size).slice();
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
function setHeapBytes(data, ptr) {
|
|
387
|
+
Module.HEAPU8.set(data, wasmPointerToByteOffset(ptr));
|
|
388
|
+
}
|
|
389
|
+
|
|
362
390
|
function withHeapBytes(data, callback) {
|
|
363
391
|
const ptr = Module._malloc(data.length);
|
|
364
392
|
try {
|
|
365
|
-
|
|
393
|
+
setHeapBytes(data, ptr);
|
|
366
394
|
return callback(ptr);
|
|
367
395
|
} finally {
|
|
368
396
|
Module._free(ptr);
|
|
@@ -468,7 +496,7 @@ function readCellValue(row, col) {
|
|
|
468
496
|
const blobPtr = api.resultCellBlob(row, col);
|
|
469
497
|
const blobSize = api.resultCellBlobSize(row, col);
|
|
470
498
|
return blobPtr && blobSize > 0
|
|
471
|
-
? Array.from(
|
|
499
|
+
? Array.from(copyHeapBytes(blobPtr, blobSize))
|
|
472
500
|
: [];
|
|
473
501
|
}
|
|
474
502
|
default:
|
|
@@ -525,19 +553,19 @@ export class FlatSQL {
|
|
|
525
553
|
createTestUser(id, name, email, age) {
|
|
526
554
|
const ptr = api.createTestUser(id, name, email, age);
|
|
527
555
|
const size = api.testBufferSize();
|
|
528
|
-
return
|
|
556
|
+
return copyHeapBytes(ptr, size);
|
|
529
557
|
}
|
|
530
558
|
|
|
531
559
|
createTestPost(id, userId, title) {
|
|
532
560
|
const ptr = api.createTestPost(id, userId, title);
|
|
533
561
|
const size = api.testBufferSize();
|
|
534
|
-
return
|
|
562
|
+
return copyHeapBytes(ptr, size);
|
|
535
563
|
}
|
|
536
564
|
|
|
537
565
|
createTestPublishEvent(fileId, recordId, eventIndex, payloadSize) {
|
|
538
566
|
const ptr = api.createTestPublishEvent(fileId, recordId, eventIndex, payloadSize);
|
|
539
567
|
const size = api.testBufferSize();
|
|
540
|
-
return
|
|
568
|
+
return copyHeapBytes(ptr, size);
|
|
541
569
|
}
|
|
542
570
|
|
|
543
571
|
createTestMPE(entityId, epoch, meanMotion, eccentricity, inclination,
|
|
@@ -555,13 +583,13 @@ export class FlatSQL {
|
|
|
555
583
|
meanElementTheory
|
|
556
584
|
);
|
|
557
585
|
const size = api.testBufferSize();
|
|
558
|
-
return
|
|
586
|
+
return copyHeapBytes(ptr, size);
|
|
559
587
|
}
|
|
560
588
|
|
|
561
589
|
createTestTelemetry(packetId, spacecraft, subsystem, mode, temperatureC, signalDb, timestampS) {
|
|
562
590
|
const ptr = api.createTestTelemetry(packetId, spacecraft, subsystem, mode, temperatureC, signalDb, timestampS);
|
|
563
591
|
const size = api.testBufferSize();
|
|
564
|
-
return
|
|
592
|
+
return copyHeapBytes(ptr, size);
|
|
565
593
|
}
|
|
566
594
|
|
|
567
595
|
/**
|
|
@@ -799,18 +827,39 @@ export class FlatSQLDatabase {
|
|
|
799
827
|
|
|
800
828
|
const ptr = api.responseArtifactData();
|
|
801
829
|
const size = api.responseArtifactSize();
|
|
802
|
-
return ptr && size > 0 ?
|
|
830
|
+
return ptr && size > 0 ? copyHeapBytes(ptr, size) : new Uint8Array();
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
// True when the last queryRawFlatBufferStream call was served from the
|
|
834
|
+
// engine's response-artifact cache (no SQL re-execution).
|
|
835
|
+
lastRawStreamCacheHit() {
|
|
836
|
+
return api.responseArtifactCacheHit() !== 0;
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
configureRawStreamCache(maxEntries, maxTotalBytes) {
|
|
840
|
+
if (!api.configureRawStreamCache(this._handle, maxEntries, maxTotalBytes)) {
|
|
841
|
+
throw new Error(api.getError());
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
getRawStreamCacheStats() {
|
|
846
|
+
return {
|
|
847
|
+
hits: api.rawStreamCacheHits(this._handle),
|
|
848
|
+
misses: api.rawStreamCacheMisses(this._handle),
|
|
849
|
+
entries: api.rawStreamCacheSize(this._handle),
|
|
850
|
+
totalBytes: api.rawStreamCacheTotalBytes(this._handle)
|
|
851
|
+
};
|
|
803
852
|
}
|
|
804
853
|
|
|
805
854
|
exportData() {
|
|
806
855
|
const ptr = api.exportData(this._handle);
|
|
807
856
|
const size = api.exportSize();
|
|
808
|
-
return
|
|
857
|
+
return copyHeapBytes(ptr, size);
|
|
809
858
|
}
|
|
810
859
|
|
|
811
860
|
loadAndRebuild(data) {
|
|
812
861
|
const ptr = Module._malloc(data.length);
|
|
813
|
-
|
|
862
|
+
setHeapBytes(data, ptr);
|
|
814
863
|
api.loadAndRebuild(this._handle, ptr, data.length);
|
|
815
864
|
Module._free(ptr);
|
|
816
865
|
}
|
|
@@ -921,7 +970,7 @@ export class FlatSQLDatabase {
|
|
|
921
970
|
if (!record) {
|
|
922
971
|
return null;
|
|
923
972
|
}
|
|
924
|
-
return
|
|
973
|
+
return copyHeapBytes(record.ptr, record.size);
|
|
925
974
|
}
|
|
926
975
|
|
|
927
976
|
getFlatBufferDataByIndex(tableName, columnName, value) {
|
|
@@ -929,7 +978,7 @@ export class FlatSQLDatabase {
|
|
|
929
978
|
if (!record) {
|
|
930
979
|
return null;
|
|
931
980
|
}
|
|
932
|
-
return
|
|
981
|
+
return copyHeapBytes(record.ptr, record.size);
|
|
933
982
|
}
|
|
934
983
|
|
|
935
984
|
getStorageInfo() {
|
|
@@ -947,7 +996,7 @@ export class FlatSQLDatabase {
|
|
|
947
996
|
*/
|
|
948
997
|
setEncryptionKey(key) {
|
|
949
998
|
const ptr = Module._malloc(key.length);
|
|
950
|
-
|
|
999
|
+
setHeapBytes(key, ptr);
|
|
951
1000
|
const result = api.setEncryptionKey(this._handle, ptr, key.length);
|
|
952
1001
|
Module._free(ptr);
|
|
953
1002
|
if (!result) throw new Error(api.getError());
|
|
@@ -969,11 +1018,11 @@ export class FlatSQLDatabase {
|
|
|
969
1018
|
*/
|
|
970
1019
|
encryptBuffer(buffer, schema) {
|
|
971
1020
|
const bufPtr = Module._malloc(buffer.length);
|
|
972
|
-
|
|
1021
|
+
setHeapBytes(buffer, bufPtr);
|
|
973
1022
|
const schemaPtr = Module._malloc(schema.length);
|
|
974
|
-
|
|
1023
|
+
setHeapBytes(schema, schemaPtr);
|
|
975
1024
|
const result = api.encryptBuffer(this._handle, bufPtr, buffer.length, schemaPtr, schema.length);
|
|
976
|
-
const encrypted =
|
|
1025
|
+
const encrypted = copyHeapBytes(bufPtr, buffer.length);
|
|
977
1026
|
Module._free(bufPtr);
|
|
978
1027
|
Module._free(schemaPtr);
|
|
979
1028
|
if (!result) throw new Error(api.getError());
|
|
@@ -988,11 +1037,11 @@ export class FlatSQLDatabase {
|
|
|
988
1037
|
*/
|
|
989
1038
|
decryptBuffer(buffer, schema) {
|
|
990
1039
|
const bufPtr = Module._malloc(buffer.length);
|
|
991
|
-
|
|
1040
|
+
setHeapBytes(buffer, bufPtr);
|
|
992
1041
|
const schemaPtr = Module._malloc(schema.length);
|
|
993
|
-
|
|
1042
|
+
setHeapBytes(schema, schemaPtr);
|
|
994
1043
|
const result = api.decryptBuffer(this._handle, bufPtr, buffer.length, schemaPtr, schema.length);
|
|
995
|
-
const decrypted =
|
|
1044
|
+
const decrypted = copyHeapBytes(bufPtr, buffer.length);
|
|
996
1045
|
Module._free(bufPtr);
|
|
997
1046
|
Module._free(schemaPtr);
|
|
998
1047
|
if (!result) throw new Error(api.getError());
|
|
@@ -1026,10 +1075,10 @@ export class FlatSQLDatabase {
|
|
|
1026
1075
|
*/
|
|
1027
1076
|
computeHMAC(buffer) {
|
|
1028
1077
|
const bufPtr = Module._malloc(buffer.length);
|
|
1029
|
-
|
|
1078
|
+
setHeapBytes(buffer, bufPtr);
|
|
1030
1079
|
const macPtr = Module._malloc(32);
|
|
1031
1080
|
const result = api.computeHMAC(this._handle, bufPtr, buffer.length, macPtr);
|
|
1032
|
-
const mac =
|
|
1081
|
+
const mac = copyHeapBytes(macPtr, 32);
|
|
1033
1082
|
Module._free(bufPtr);
|
|
1034
1083
|
Module._free(macPtr);
|
|
1035
1084
|
if (!result) throw new Error('HMAC computation failed - is encryption key set?');
|
|
@@ -1044,9 +1093,9 @@ export class FlatSQLDatabase {
|
|
|
1044
1093
|
*/
|
|
1045
1094
|
verifyHMAC(buffer, mac) {
|
|
1046
1095
|
const bufPtr = Module._malloc(buffer.length);
|
|
1047
|
-
|
|
1096
|
+
setHeapBytes(buffer, bufPtr);
|
|
1048
1097
|
const macPtr = Module._malloc(32);
|
|
1049
|
-
|
|
1098
|
+
setHeapBytes(mac, macPtr);
|
|
1050
1099
|
const result = api.verifyHMAC(this._handle, bufPtr, buffer.length, macPtr);
|
|
1051
1100
|
Module._free(bufPtr);
|
|
1052
1101
|
Module._free(macPtr);
|
package/wasm/standalone.d.ts
CHANGED
|
@@ -77,6 +77,14 @@ export class FlatSQLStandaloneDatabase {
|
|
|
77
77
|
query(sql: string, params?: StandaloneQueryParam[]): StandaloneQueryResult;
|
|
78
78
|
queryMany(queries: Array<{ sql: string; params?: StandaloneQueryParam[] }>): StandaloneQueryResult[];
|
|
79
79
|
queryRawFlatBufferStream(sql: string, params?: StandaloneQueryParam[]): Uint8Array;
|
|
80
|
+
lastRawStreamCacheHit(): boolean;
|
|
81
|
+
configureRawStreamCache(maxEntries: number, maxTotalBytes: number): void;
|
|
82
|
+
getRawStreamCacheStats(): {
|
|
83
|
+
hits: number;
|
|
84
|
+
misses: number;
|
|
85
|
+
entries: number;
|
|
86
|
+
totalBytes: number;
|
|
87
|
+
};
|
|
80
88
|
registerQueryTemplate(queryId: string, sql: string, cacheable?: boolean): void;
|
|
81
89
|
queryTemplate(queryId: string, params?: StandaloneQueryParam[]): StandaloneQueryResult;
|
|
82
90
|
clearQueryCache(): void;
|
package/wasm/standalone.js
CHANGED
|
@@ -630,6 +630,30 @@ export class FlatSQLStandaloneDatabase {
|
|
|
630
630
|
return ptr && size > 0 ? this._runtime.readBytes(ptr, size) : new Uint8Array();
|
|
631
631
|
}
|
|
632
632
|
|
|
633
|
+
// True when the last queryRawFlatBufferStream call was served from the
|
|
634
|
+
// engine's response-artifact cache (no SQL re-execution).
|
|
635
|
+
lastRawStreamCacheHit() {
|
|
636
|
+
return this._runtime.exports.flatsql_response_artifact_cache_hit() !== 0;
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
configureRawStreamCache(maxEntries, maxTotalBytes) {
|
|
640
|
+
const ok = this._runtime.exports.flatsql_configure_raw_stream_cache(
|
|
641
|
+
this._handle,
|
|
642
|
+
maxEntries,
|
|
643
|
+
maxTotalBytes
|
|
644
|
+
);
|
|
645
|
+
this._runtime.check(ok);
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
getRawStreamCacheStats() {
|
|
649
|
+
return {
|
|
650
|
+
hits: this._runtime.exports.flatsql_raw_stream_cache_hits(this._handle),
|
|
651
|
+
misses: this._runtime.exports.flatsql_raw_stream_cache_misses(this._handle),
|
|
652
|
+
entries: this._runtime.exports.flatsql_raw_stream_cache_size(this._handle),
|
|
653
|
+
totalBytes: this._runtime.exports.flatsql_raw_stream_cache_total_bytes(this._handle),
|
|
654
|
+
};
|
|
655
|
+
}
|
|
656
|
+
|
|
633
657
|
registerQueryTemplate(queryId, sql, cacheable = true) {
|
|
634
658
|
const success = this._runtime.withCString(queryId, (queryIdPtr) =>
|
|
635
659
|
this._runtime.withCString(sql, (sqlPtr) =>
|