@based/db 0.0.2 → 0.0.4

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.
Files changed (315) hide show
  1. package/basedDbNative.cjs +26 -0
  2. package/dist/lib/darwin_aarch64/libdeflate.dylib +0 -0
  3. package/dist/lib/darwin_aarch64/libjemalloc_selva.2.dylib +0 -0
  4. package/dist/lib/darwin_aarch64/libnode-v20.11.1.node +0 -0
  5. package/dist/lib/darwin_aarch64/{libnode-v22.13.1.node → libnode-v20.18.1.node} +0 -0
  6. package/dist/lib/darwin_aarch64/libnode-v22.13.0.node +0 -0
  7. package/dist/lib/darwin_aarch64/libnode-v22.8.0.node +0 -0
  8. package/dist/lib/darwin_aarch64/libselva.dylib +0 -0
  9. package/dist/lib/linux_aarch64/include/cdefs.h +317 -0
  10. package/dist/lib/linux_aarch64/include/jemalloc.h +468 -0
  11. package/dist/lib/linux_aarch64/include/libdeflate.h +322 -0
  12. package/dist/lib/linux_aarch64/include/libdeflate_strings.h +35 -0
  13. package/dist/lib/linux_aarch64/include/linker_set.h +109 -0
  14. package/dist/lib/linux_aarch64/include/queue.h +627 -0
  15. package/dist/lib/linux_aarch64/include/selva/_export.h +7 -0
  16. package/dist/lib/linux_aarch64/include/selva/align.h +9 -0
  17. package/dist/lib/linux_aarch64/include/selva/backoff_timeout.h +29 -0
  18. package/dist/lib/linux_aarch64/include/selva/base64.h +59 -0
  19. package/dist/lib/linux_aarch64/include/selva/base64url.h +59 -0
  20. package/dist/lib/linux_aarch64/include/selva/bitmap.h +95 -0
  21. package/dist/lib/linux_aarch64/include/selva/crc32c.h +17 -0
  22. package/dist/lib/linux_aarch64/include/selva/ctime.h +135 -0
  23. package/dist/lib/linux_aarch64/include/selva/db.h +284 -0
  24. package/dist/lib/linux_aarch64/include/selva/endian.h +301 -0
  25. package/dist/lib/linux_aarch64/include/selva/fast_linear_search.h +23 -0
  26. package/dist/lib/linux_aarch64/include/selva/fast_memmem.h +11 -0
  27. package/dist/lib/linux_aarch64/include/selva/fast_parsei.h +36 -0
  28. package/dist/lib/linux_aarch64/include/selva/fields.h +338 -0
  29. package/dist/lib/linux_aarch64/include/selva/find.h +47 -0
  30. package/dist/lib/linux_aarch64/include/selva/lpf.h +28 -0
  31. package/dist/lib/linux_aarch64/include/selva/node_id_set.h +43 -0
  32. package/dist/lib/linux_aarch64/include/selva/poptop.h +114 -0
  33. package/dist/lib/linux_aarch64/include/selva/queue_r.h +190 -0
  34. package/dist/lib/linux_aarch64/include/selva/selva_hash128.h +39 -0
  35. package/dist/lib/linux_aarch64/include/selva/selva_lang.h +105 -0
  36. package/dist/lib/linux_aarch64/include/selva/selva_math.h +37 -0
  37. package/dist/lib/linux_aarch64/include/selva/selva_string.h +674 -0
  38. package/dist/lib/linux_aarch64/include/selva/sort.h +119 -0
  39. package/dist/lib/linux_aarch64/include/selva/strsearch.h +43 -0
  40. package/dist/lib/linux_aarch64/include/selva/timestamp.h +25 -0
  41. package/dist/lib/linux_aarch64/include/selva/traverse.h +65 -0
  42. package/dist/lib/linux_aarch64/include/selva/types.h +110 -0
  43. package/dist/lib/linux_aarch64/include/selva/vector.h +14 -0
  44. package/dist/lib/linux_aarch64/include/selva/worker_ctx.h +13 -0
  45. package/dist/lib/linux_aarch64/include/selva_error.h +137 -0
  46. package/dist/lib/linux_aarch64/include/selva_lang_code.h +157 -0
  47. package/dist/lib/linux_aarch64/include/tree.h +852 -0
  48. package/dist/lib/linux_aarch64/libdeflate.so +0 -0
  49. package/dist/lib/linux_aarch64/libjemalloc_selva.so.2 +0 -0
  50. package/dist/lib/linux_aarch64/libnode-v20.11.1.node +0 -0
  51. package/dist/lib/linux_aarch64/libnode-v20.18.1.node +0 -0
  52. package/dist/lib/linux_aarch64/libnode-v22.13.0.node +0 -0
  53. package/dist/lib/linux_aarch64/libselva.so +0 -0
  54. package/dist/lib/linux_aarch64/libxxhash.so +0 -0
  55. package/dist/lib/linux_aarch64/libxxhash.so.0 +0 -0
  56. package/dist/lib/linux_aarch64/libxxhash.so.0.8.2 +0 -0
  57. package/dist/lib/linux_x86_64/include/cdefs.h +317 -0
  58. package/dist/lib/linux_x86_64/include/jemalloc.h +468 -0
  59. package/dist/lib/linux_x86_64/include/libdeflate.h +322 -0
  60. package/dist/lib/linux_x86_64/include/libdeflate_strings.h +35 -0
  61. package/dist/lib/linux_x86_64/include/linker_set.h +109 -0
  62. package/dist/lib/linux_x86_64/include/queue.h +627 -0
  63. package/dist/lib/linux_x86_64/include/selva/_export.h +7 -0
  64. package/dist/lib/linux_x86_64/include/selva/align.h +9 -0
  65. package/dist/lib/linux_x86_64/include/selva/backoff_timeout.h +29 -0
  66. package/dist/lib/linux_x86_64/include/selva/base64.h +59 -0
  67. package/dist/lib/linux_x86_64/include/selva/base64url.h +59 -0
  68. package/dist/lib/linux_x86_64/include/selva/bitmap.h +95 -0
  69. package/dist/lib/linux_x86_64/include/selva/crc32c.h +17 -0
  70. package/dist/lib/linux_x86_64/include/selva/ctime.h +135 -0
  71. package/dist/lib/linux_x86_64/include/selva/db.h +284 -0
  72. package/dist/lib/linux_x86_64/include/selva/endian.h +301 -0
  73. package/dist/lib/linux_x86_64/include/selva/fast_linear_search.h +23 -0
  74. package/dist/lib/linux_x86_64/include/selva/fast_memmem.h +11 -0
  75. package/dist/lib/linux_x86_64/include/selva/fast_parsei.h +36 -0
  76. package/dist/lib/linux_x86_64/include/selva/fields.h +338 -0
  77. package/dist/lib/linux_x86_64/include/selva/find.h +47 -0
  78. package/dist/lib/linux_x86_64/include/selva/lpf.h +28 -0
  79. package/dist/lib/linux_x86_64/include/selva/node_id_set.h +43 -0
  80. package/dist/lib/linux_x86_64/include/selva/poptop.h +114 -0
  81. package/dist/lib/linux_x86_64/include/selva/queue_r.h +190 -0
  82. package/dist/lib/linux_x86_64/include/selva/selva_hash128.h +39 -0
  83. package/dist/lib/linux_x86_64/include/selva/selva_lang.h +105 -0
  84. package/dist/lib/linux_x86_64/include/selva/selva_math.h +37 -0
  85. package/dist/lib/linux_x86_64/include/selva/selva_string.h +674 -0
  86. package/dist/lib/linux_x86_64/include/selva/sort.h +119 -0
  87. package/dist/lib/linux_x86_64/include/selva/strsearch.h +43 -0
  88. package/dist/lib/linux_x86_64/include/selva/timestamp.h +25 -0
  89. package/dist/lib/linux_x86_64/include/selva/traverse.h +65 -0
  90. package/dist/lib/linux_x86_64/include/selva/types.h +110 -0
  91. package/dist/lib/linux_x86_64/include/selva/vector.h +14 -0
  92. package/dist/lib/linux_x86_64/include/selva/worker_ctx.h +13 -0
  93. package/dist/lib/linux_x86_64/include/selva_error.h +137 -0
  94. package/dist/lib/linux_x86_64/include/selva_lang_code.h +157 -0
  95. package/dist/lib/linux_x86_64/include/tree.h +852 -0
  96. package/dist/lib/linux_x86_64/libdeflate.so +0 -0
  97. package/dist/lib/linux_x86_64/libjemalloc_selva.so.2 +0 -0
  98. package/dist/lib/linux_x86_64/libnode-v20.11.1.node +0 -0
  99. package/dist/lib/linux_x86_64/libnode-v20.18.1.node +0 -0
  100. package/dist/lib/linux_x86_64/libnode-v22.13.0.node +0 -0
  101. package/dist/lib/linux_x86_64/libselva.so +0 -0
  102. package/dist/lib/linux_x86_64/libxxhash.so +0 -0
  103. package/dist/lib/linux_x86_64/libxxhash.so.0 +0 -0
  104. package/dist/lib/linux_x86_64/libxxhash.so.0.8.2 +0 -0
  105. package/package.json +6 -5
  106. package/dist/src/client/bitWise.js.map +0 -1
  107. package/dist/src/client/crc32.js.map +0 -1
  108. package/dist/src/client/index.js.map +0 -1
  109. package/dist/src/client/modify/ModifyRes.js.map +0 -1
  110. package/dist/src/client/modify/alias.js.map +0 -1
  111. package/dist/src/client/modify/binary.js.map +0 -1
  112. package/dist/src/client/modify/create.js.map +0 -1
  113. package/dist/src/client/modify/fixed.js.map +0 -1
  114. package/dist/src/client/modify/hll.js.map +0 -1
  115. package/dist/src/client/modify/index.js.map +0 -1
  116. package/dist/src/client/modify/modify.js.map +0 -1
  117. package/dist/src/client/modify/references/edge.js.map +0 -1
  118. package/dist/src/client/modify/references/reference.js.map +0 -1
  119. package/dist/src/client/modify/references/references.js.map +0 -1
  120. package/dist/src/client/modify/remove.js.map +0 -1
  121. package/dist/src/client/modify/setCursor.js.map +0 -1
  122. package/dist/src/client/modify/string.js.map +0 -1
  123. package/dist/src/client/modify/text.js.map +0 -1
  124. package/dist/src/client/modify/types.js.map +0 -1
  125. package/dist/src/client/modify/update.js.map +0 -1
  126. package/dist/src/client/modify/upsert.js.map +0 -1
  127. package/dist/src/client/modify/vector.js.map +0 -1
  128. package/dist/src/client/operations.js.map +0 -1
  129. package/dist/src/client/query/BasedDbQuery.js.map +0 -1
  130. package/dist/src/client/query/BasedIterable.js.map +0 -1
  131. package/dist/src/client/query/debug.js.map +0 -1
  132. package/dist/src/client/query/display.js.map +0 -1
  133. package/dist/src/client/query/filter/FilterBranch.js.map +0 -1
  134. package/dist/src/client/query/filter/createFixedFilterBuffer.js.map +0 -1
  135. package/dist/src/client/query/filter/createReferenceFilter.js.map +0 -1
  136. package/dist/src/client/query/filter/createVariableFilterBuffer.js.map +0 -1
  137. package/dist/src/client/query/filter/filter.js.map +0 -1
  138. package/dist/src/client/query/filter/operators.js.map +0 -1
  139. package/dist/src/client/query/filter/parseFilterValue.js.map +0 -1
  140. package/dist/src/client/query/filter/primitiveFilter.js.map +0 -1
  141. package/dist/src/client/query/filter/toBuffer.js.map +0 -1
  142. package/dist/src/client/query/filter/types.js.map +0 -1
  143. package/dist/src/client/query/include/props.js.map +0 -1
  144. package/dist/src/client/query/include/toBuffer.js.map +0 -1
  145. package/dist/src/client/query/include/utils.js.map +0 -1
  146. package/dist/src/client/query/include/walk.js.map +0 -1
  147. package/dist/src/client/query/query.js.map +0 -1
  148. package/dist/src/client/query/queryDef.js.map +0 -1
  149. package/dist/src/client/query/read/read.js.map +0 -1
  150. package/dist/src/client/query/registerQuery.js.map +0 -1
  151. package/dist/src/client/query/search/index.js.map +0 -1
  152. package/dist/src/client/query/sort.js.map +0 -1
  153. package/dist/src/client/query/subscription/index.js.map +0 -1
  154. package/dist/src/client/query/subscription/markers.js.map +0 -1
  155. package/dist/src/client/query/subscription/run.js.map +0 -1
  156. package/dist/src/client/query/subscription/types.js.map +0 -1
  157. package/dist/src/client/query/thresholds.js.map +0 -1
  158. package/dist/src/client/query/toBuffer.js.map +0 -1
  159. package/dist/src/client/query/types.js.map +0 -1
  160. package/dist/src/client/query/validation.js.map +0 -1
  161. package/dist/src/client/string.js.map +0 -1
  162. package/dist/src/client/tree.js.map +0 -1
  163. package/dist/src/index.js.map +0 -1
  164. package/dist/src/native.js.map +0 -1
  165. package/dist/src/server/csmt/draw-dot.js.map +0 -1
  166. package/dist/src/server/csmt/index.js.map +0 -1
  167. package/dist/src/server/csmt/match.js.map +0 -1
  168. package/dist/src/server/csmt/memebership-proof.js.map +0 -1
  169. package/dist/src/server/csmt/tree-utils.js.map +0 -1
  170. package/dist/src/server/csmt/tree.js.map +0 -1
  171. package/dist/src/server/csmt/types.js.map +0 -1
  172. package/dist/src/server/index.js.map +0 -1
  173. package/dist/src/server/migrate/index.js.map +0 -1
  174. package/dist/src/server/migrate/worker.js.map +0 -1
  175. package/dist/src/server/save.js.map +0 -1
  176. package/dist/src/server/schema/schema.js.map +0 -1
  177. package/dist/src/server/schema/selvaBuffer.js.map +0 -1
  178. package/dist/src/server/schema/typeDef.js.map +0 -1
  179. package/dist/src/server/schema/types.js.map +0 -1
  180. package/dist/src/server/schema/utils.js.map +0 -1
  181. package/dist/src/server/start.js.map +0 -1
  182. package/dist/src/server/tree.js.map +0 -1
  183. package/dist/src/server/worker.js.map +0 -1
  184. package/dist/test/alias.d.ts +0 -1
  185. package/dist/test/alias.js +0 -232
  186. package/dist/test/alias.js.map +0 -1
  187. package/dist/test/binary.d.ts +0 -1
  188. package/dist/test/binary.js +0 -45
  189. package/dist/test/binary.js.map +0 -1
  190. package/dist/test/boolean.d.ts +0 -1
  191. package/dist/test/boolean.js +0 -43
  192. package/dist/test/boolean.js.map +0 -1
  193. package/dist/test/clientServer.d.ts +0 -1
  194. package/dist/test/clientServer.js +0 -64
  195. package/dist/test/clientServer.js.map +0 -1
  196. package/dist/test/concurrency.d.ts +0 -1
  197. package/dist/test/concurrency.js +0 -61
  198. package/dist/test/concurrency.js.map +0 -1
  199. package/dist/test/csmt.d.ts +0 -1
  200. package/dist/test/csmt.js +0 -365
  201. package/dist/test/csmt.js.map +0 -1
  202. package/dist/test/edges.d.ts +0 -1
  203. package/dist/test/edges.js +0 -295
  204. package/dist/test/edges.js.map +0 -1
  205. package/dist/test/edgesReference.d.ts +0 -1
  206. package/dist/test/edgesReference.js +0 -179
  207. package/dist/test/edgesReference.js.map +0 -1
  208. package/dist/test/edgesReferences.d.ts +0 -1
  209. package/dist/test/edgesReferences.js +0 -472
  210. package/dist/test/edgesReferences.js.map +0 -1
  211. package/dist/test/enum.d.ts +0 -1
  212. package/dist/test/enum.js +0 -44
  213. package/dist/test/enum.js.map +0 -1
  214. package/dist/test/filter.d.ts +0 -1
  215. package/dist/test/filter.js +0 -512
  216. package/dist/test/filter.js.map +0 -1
  217. package/dist/test/filterString.d.ts +0 -1
  218. package/dist/test/filterString.js +0 -482
  219. package/dist/test/filterString.js.map +0 -1
  220. package/dist/test/flush.d.ts +0 -1
  221. package/dist/test/flush.js +0 -44
  222. package/dist/test/flush.js.map +0 -1
  223. package/dist/test/hll.d.ts +0 -1
  224. package/dist/test/hll.js +0 -32
  225. package/dist/test/hll.js.map +0 -1
  226. package/dist/test/migration.d.ts +0 -1
  227. package/dist/test/migration.js +0 -112
  228. package/dist/test/migration.js.map +0 -1
  229. package/dist/test/number.d.ts +0 -1
  230. package/dist/test/number.js +0 -172
  231. package/dist/test/number.js.map +0 -1
  232. package/dist/test/range.d.ts +0 -1
  233. package/dist/test/range.js +0 -70
  234. package/dist/test/range.js.map +0 -1
  235. package/dist/test/references.d.ts +0 -1
  236. package/dist/test/references.js +0 -350
  237. package/dist/test/references.js.map +0 -1
  238. package/dist/test/referencesIndex.d.ts +0 -1
  239. package/dist/test/referencesIndex.js +0 -151
  240. package/dist/test/referencesIndex.js.map +0 -1
  241. package/dist/test/referencesModify.d.ts +0 -1
  242. package/dist/test/referencesModify.js +0 -79
  243. package/dist/test/referencesModify.js.map +0 -1
  244. package/dist/test/remove.d.ts +0 -1
  245. package/dist/test/remove.js +0 -61
  246. package/dist/test/remove.js.map +0 -1
  247. package/dist/test/rootProps.d.ts +0 -1
  248. package/dist/test/rootProps.js +0 -53
  249. package/dist/test/rootProps.js.map +0 -1
  250. package/dist/test/save.d.ts +0 -1
  251. package/dist/test/save.js +0 -43
  252. package/dist/test/save.js.map +0 -1
  253. package/dist/test/saveRange.d.ts +0 -1
  254. package/dist/test/saveRange.js +0 -230
  255. package/dist/test/saveRange.js.map +0 -1
  256. package/dist/test/search.d.ts +0 -1
  257. package/dist/test/search.js +0 -322
  258. package/dist/test/search.js.map +0 -1
  259. package/dist/test/shared/assert.d.ts +0 -5
  260. package/dist/test/shared/assert.js +0 -75
  261. package/dist/test/shared/assert.js.map +0 -1
  262. package/dist/test/shared/examples.d.ts +0 -6
  263. package/dist/test/shared/examples.js +0 -1323
  264. package/dist/test/shared/examples.js.map +0 -1
  265. package/dist/test/shared/playground.d.ts +0 -1
  266. package/dist/test/shared/playground.js +0 -250
  267. package/dist/test/shared/playground.js.map +0 -1
  268. package/dist/test/shared/test.d.ts +0 -11
  269. package/dist/test/shared/test.js +0 -112
  270. package/dist/test/shared/test.js.map +0 -1
  271. package/dist/test/shared/worker.d.ts +0 -1
  272. package/dist/test/shared/worker.js +0 -127
  273. package/dist/test/shared/worker.js.map +0 -1
  274. package/dist/test/simpleQuery.d.ts +0 -1
  275. package/dist/test/simpleQuery.js +0 -43
  276. package/dist/test/simpleQuery.js.map +0 -1
  277. package/dist/test/singleRef.d.ts +0 -1
  278. package/dist/test/singleRef.js +0 -572
  279. package/dist/test/singleRef.js.map +0 -1
  280. package/dist/test/singleRefQuery.d.ts +0 -1
  281. package/dist/test/singleRefQuery.js +0 -136
  282. package/dist/test/singleRefQuery.js.map +0 -1
  283. package/dist/test/sort.d.ts +0 -1
  284. package/dist/test/sort.js +0 -401
  285. package/dist/test/sort.js.map +0 -1
  286. package/dist/test/sortIds.d.ts +0 -1
  287. package/dist/test/sortIds.js +0 -104
  288. package/dist/test/sortIds.js.map +0 -1
  289. package/dist/test/sortNumber.d.ts +0 -1
  290. package/dist/test/sortNumber.js +0 -76
  291. package/dist/test/sortNumber.js.map +0 -1
  292. package/dist/test/sortString.d.ts +0 -1
  293. package/dist/test/sortString.js +0 -118
  294. package/dist/test/sortString.js.map +0 -1
  295. package/dist/test/string.d.ts +0 -1
  296. package/dist/test/string.js +0 -310
  297. package/dist/test/string.js.map +0 -1
  298. package/dist/test/subscription.d.ts +0 -1
  299. package/dist/test/subscription.js +0 -336
  300. package/dist/test/subscription.js.map +0 -1
  301. package/dist/test/text.d.ts +0 -1
  302. package/dist/test/text.js +0 -87
  303. package/dist/test/text.js.map +0 -1
  304. package/dist/test/timestamp.d.ts +0 -1
  305. package/dist/test/timestamp.js +0 -50
  306. package/dist/test/timestamp.js.map +0 -1
  307. package/dist/test/update.d.ts +0 -1
  308. package/dist/test/update.js +0 -223
  309. package/dist/test/update.js.map +0 -1
  310. package/dist/test/validation.d.ts +0 -1
  311. package/dist/test/validation.js +0 -90
  312. package/dist/test/validation.js.map +0 -1
  313. package/dist/test/vector.d.ts +0 -1
  314. package/dist/test/vector.js +0 -47
  315. package/dist/test/vector.js.map +0 -1
@@ -1,512 +0,0 @@
1
- import { BasedDb } from '../src/index.js';
2
- import test from './shared/test.js';
3
- import { equal, deepEqual } from './shared/assert.js';
4
- await test('simple', async (t) => {
5
- const db = new BasedDb({
6
- path: t.tmp,
7
- });
8
- await db.start({ clean: true });
9
- t.after(() => {
10
- return db.destroy();
11
- });
12
- const status = ['error', 'danger', 'ok', '🦄'];
13
- await db.putSchema({
14
- types: {
15
- org: {
16
- props: {
17
- name: 'string',
18
- type: ['public', 'private', 'person'],
19
- envs: {
20
- items: {
21
- ref: 'env',
22
- prop: 'org',
23
- },
24
- },
25
- },
26
- },
27
- env: {
28
- props: {
29
- standby: 'boolean',
30
- status: 'uint8',
31
- name: 'string',
32
- org: {
33
- ref: 'org',
34
- prop: 'envs',
35
- },
36
- machines: {
37
- items: {
38
- ref: 'machine',
39
- prop: 'env',
40
- },
41
- },
42
- },
43
- },
44
- machine: {
45
- props: {
46
- derp: 'int32',
47
- lastPing: 'number',
48
- temperature: 'number',
49
- requestsServed: 'uint32',
50
- env: {
51
- ref: 'env',
52
- prop: 'machines',
53
- $rating: 'number',
54
- },
55
- isLive: 'boolean',
56
- status,
57
- scheduled: 'timestamp',
58
- },
59
- },
60
- },
61
- });
62
- const org = await db.create('org', {
63
- name: 'My small org',
64
- type: 'person',
65
- });
66
- const env = await db.create('env', {
67
- name: 'My small org env',
68
- org,
69
- });
70
- const emptyEnv = await db.create('env', {
71
- name: 'Mydev env',
72
- org,
73
- });
74
- const now = Date.now();
75
- let lastId = 0;
76
- const m = [];
77
- for (let i = 0; i < 1e5; i++) {
78
- lastId = db.create('machine', {
79
- env,
80
- status: status[Math.floor(Math.random() * (status.length - 1))],
81
- requestsServed: i,
82
- lastPing: i + 1,
83
- derp: -i,
84
- temperature: Math.random() * 40 - Math.random() * 40,
85
- isLive: !!(i % 2),
86
- scheduled: now + (i % 3 ? -i * 6e5 : i * 6e5),
87
- }).tmpId;
88
- if (i % 2) {
89
- m.push(lastId);
90
- }
91
- }
92
- db.update('env', env, {
93
- machines: m,
94
- });
95
- console.log(await db.drain(), 'ms');
96
- console.log('MAKE 100k', Date.now() - now);
97
- const x = [300, 400, 10, 20, 1, 2, 99, 9999, 888, 6152];
98
- equal((await db.query('machine').filter('lastPing', '=', x).get()).length, x.length, 'OR number');
99
- const make = () => {
100
- const x = ~~(Math.random() * lastId);
101
- if (x % 2 == 0) {
102
- return make();
103
- }
104
- return x;
105
- };
106
- const amount = 1000;
107
- var measure = 0;
108
- var mi = 0;
109
- const res = await Promise.all(Array.from({ length: amount }).map(() => {
110
- const rand = ~~(Math.random() * lastId);
111
- const derp = [make(), make(), make(), rand];
112
- return db.query('env').include('*').filter('machines', 'has', derp).get();
113
- }));
114
- for (const envs of res) {
115
- mi += envs.toObject().length;
116
- measure += envs.execTime;
117
- }
118
- equal(mi / amount > 0.4 && mi / amount < 0.6, true, 'multi ref OR filter up at 0.5 results');
119
- // console.log('what??', measure, amount, measure / amount)
120
- equal(measure / amount < 20, true, 'multi ref OR filter lower then 20ms');
121
- measure = 0;
122
- mi = 0;
123
- await Promise.all(Array.from({ length: amount }).map(async () => {
124
- const rand = ~~(Math.random() * lastId);
125
- const envs = await db
126
- .query('env')
127
- .include('*')
128
- .filter('machines', 'has', rand)
129
- .get();
130
- mi += envs.toObject().length;
131
- measure += envs.execTime;
132
- }));
133
- equal(mi / amount > 0.4 && mi / amount < 0.6, true, 'multi ref filter up at 0.5 results');
134
- equal(measure / amount < 10, true, 'multi ref filter lower then 10ms');
135
- equal((await db
136
- .query('machine')
137
- .include('*')
138
- .filter('scheduled', '>', 'now + 694d + 10h')
139
- .get()).toObject().length, 1);
140
- equal((await db
141
- .query('machine')
142
- .include('*')
143
- .filter('scheduled', '<', 'now-694d-10h-15m') // Date,
144
- .get()).toObject().length, 1);
145
- equal((await db
146
- .query('machine')
147
- .include('*')
148
- .filter('scheduled', '<', '10/24/2000') // Date,
149
- .get()).toObject().length, 0, 'parse date string');
150
- equal((await db
151
- .query('machine')
152
- .include('*')
153
- .filter('requestsServed', '<', 1)
154
- .get()).toObject().length, 1);
155
- equal((await db
156
- .query('machine')
157
- .include('*')
158
- .filter('requestsServed', '<=', 1)
159
- .get()).toObject().length, 2);
160
- equal((await db
161
- .query('machine')
162
- .include('*')
163
- .filter('derp', '<=', 0)
164
- .filter('derp', '>', -5)
165
- .get()).toObject().length, 5, 'Negative range');
166
- equal((await db
167
- .query('machine')
168
- .include('*')
169
- .filter('temperature', '<=', 0)
170
- .filter('temperature', '>', -0.1)
171
- .get()).toObject().length < 500, true, 'Negative temperature (result amount)');
172
- equal((await db
173
- .query('machine')
174
- .include('*')
175
- .filter('temperature', '<=', 0)
176
- .filter('temperature', '>', -0.1)
177
- .get()).toObject()[0].temperature < 0, true, 'Negative temperature (check value)');
178
- equal((await db
179
- .query('machine')
180
- .include('id')
181
- .filter('env', '=', env)
182
- .range(0, 10)
183
- .get()).toObject(), [
184
- { id: 2 },
185
- { id: 4 },
186
- { id: 6 },
187
- { id: 8 },
188
- { id: 10 },
189
- { id: 12 },
190
- { id: 14 },
191
- { id: 16 },
192
- { id: 18 },
193
- { id: 20 },
194
- ], 'Filter by reference');
195
- equal((await db
196
- .query('machine')
197
- .include('id')
198
- .filter('lastPing', '>=', 1e5 - 1) // order optmization automaticly
199
- .filter('env', '=', [emptyEnv, env])
200
- .range(0, 10)
201
- .get()).toObject(), [{ id: 100000 }], 'Filter by reference (multiple)');
202
- const derpEnv = await db.create('env', {
203
- name: 'derp env',
204
- status: 5,
205
- });
206
- const ids = await Promise.all([
207
- db.create('machine', {
208
- temperature: 20,
209
- // env: derpEnv,
210
- env: { id: derpEnv, $rating: 0.5 },
211
- lastPing: 1,
212
- }),
213
- db.create('machine', {
214
- temperature: 2,
215
- // env: derpEnv,
216
- env: { id: derpEnv, $rating: 0.75 },
217
- lastPing: 2,
218
- }),
219
- db.create('machine', {
220
- temperature: 3,
221
- // env: derpEnv,
222
- env: { id: derpEnv, $rating: 1 },
223
- lastPing: 3,
224
- }),
225
- ]);
226
- deepEqual((await db.query('env').filter('machines', '<', 10).get()).toObject(), [
227
- {
228
- id: 3,
229
- name: 'derp env',
230
- status: 5,
231
- standby: false,
232
- },
233
- ], 'Filter by references length');
234
- deepEqual((await db.query('env').filter('machines', '=', ids).get()).toObject(), [
235
- {
236
- id: 3,
237
- name: 'derp env',
238
- status: 5,
239
- standby: false,
240
- },
241
- ], 'Filter by references equals');
242
- deepEqual((await db
243
- .query('machine')
244
- .include('env', '*')
245
- .filter('env.status', '=', 5)
246
- .get()).toObject(), [
247
- {
248
- id: 100001,
249
- derp: 0,
250
- lastPing: 1,
251
- temperature: 20,
252
- requestsServed: 0,
253
- isLive: false,
254
- status: undefined,
255
- scheduled: 0,
256
- env: { id: 3, status: 5, name: 'derp env', standby: false },
257
- },
258
- {
259
- id: 100002,
260
- derp: 0,
261
- lastPing: 2,
262
- temperature: 2,
263
- requestsServed: 0,
264
- isLive: false,
265
- status: undefined,
266
- scheduled: 0,
267
- env: { id: 3, status: 5, name: 'derp env', standby: false },
268
- },
269
- {
270
- id: 100003,
271
- derp: 0,
272
- lastPing: 3,
273
- temperature: 3,
274
- requestsServed: 0,
275
- isLive: false,
276
- status: undefined,
277
- scheduled: 0,
278
- env: { id: 3, status: 5, name: 'derp env', standby: false },
279
- },
280
- ]);
281
- const unicornMachine = await db.create('machine', {
282
- status: '🦄',
283
- });
284
- deepEqual((await db
285
- .query('machine')
286
- .filter('status', '=', '🦄')
287
- .include('status')
288
- .get()).toObject(), [
289
- {
290
- id: unicornMachine,
291
- status: '🦄',
292
- },
293
- ]);
294
- deepEqual((await db.query('env').filter('standby').get()).toObject(), []);
295
- await db.update('env', derpEnv, {
296
- standby: true,
297
- });
298
- deepEqual((await db.query('env').filter('standby').get()).toObject(), [
299
- { id: 3, standby: true, status: 5, name: 'derp env' },
300
- ]);
301
- let rangeResult = await db
302
- .query('machine')
303
- .include('temperature')
304
- .filter('temperature', '..', [-0.1, 0])
305
- .get();
306
- equal(rangeResult.length < 900, true, 'range less');
307
- equal(rangeResult.node().temperature < 0 && rangeResult.node().temperature > -0.1, true, 'range');
308
- rangeResult = await db
309
- .query('machine')
310
- .include('*')
311
- .range(0, 10)
312
- // .filter('temperature', '!..', [-0.1, 0])
313
- .filter('temperature', '>', 0)
314
- .or('temperature', '<', -0.1)
315
- .get();
316
- let hasLarge = false;
317
- let hasSmall = false;
318
- for (const item of rangeResult) {
319
- if (item.temperature < -0.1) {
320
- hasSmall = true;
321
- }
322
- if (item.temperature > 0) {
323
- hasLarge = true;
324
- }
325
- if (item.temperature > -0.1 && item.temperature < 0) {
326
- throw new Error('Incorrect exclusive range (temp > -0.1 && temp < 0)');
327
- }
328
- }
329
- if (!hasSmall || !hasLarge) {
330
- throw new Error(`Incorrect exclusive range large: ${hasLarge} small: ${hasSmall}`);
331
- }
332
- });
333
- await test('or', async (t) => {
334
- const db = new BasedDb({
335
- path: t.tmp,
336
- });
337
- await db.start({ clean: true });
338
- t.after(() => {
339
- return db.destroy();
340
- });
341
- const status = ['error', 'danger', 'ok', '🦄'];
342
- await db.putSchema({
343
- types: {
344
- machine: {
345
- props: {
346
- derp: 'int32',
347
- lastPing: 'number',
348
- temperature: 'number',
349
- requestsServed: 'uint32',
350
- isLive: 'boolean',
351
- status,
352
- scheduled: 'timestamp',
353
- },
354
- },
355
- },
356
- });
357
- const now = Date.now();
358
- for (let i = 0; i < 1e6; i++) {
359
- db.create('machine', {
360
- status: status[Math.floor(Math.random() * (status.length - 1))],
361
- requestsServed: i,
362
- lastPing: i + 1,
363
- derp: -i,
364
- temperature: Math.random() * 40 - Math.random() * 40,
365
- isLive: !!(i % 2),
366
- scheduled: now + (i % 3 ? -i * 6e5 : i * 6e5),
367
- }).tmpId;
368
- }
369
- await db.drain();
370
- deepEqual((await db
371
- .query('machine')
372
- .include('id', 'lastPing')
373
- .filter('scheduled', '>', '01/01/2100')
374
- .or('lastPing', '>', 1e6 - 2)
375
- .get()).toObject(), [
376
- {
377
- id: 999999,
378
- lastPing: 999999,
379
- },
380
- {
381
- id: 1000000,
382
- lastPing: 1000000,
383
- },
384
- ]);
385
- deepEqual((await db
386
- .query('machine')
387
- .include('id', 'lastPing')
388
- .filter('scheduled', '>', '01/01/2100')
389
- .or((f) => {
390
- f.filter('lastPing', '>', 1e6 - 2);
391
- })
392
- .get()).toObject(), (await db
393
- .query('machine')
394
- .include('id', 'lastPing')
395
- .filter('scheduled', '>', '01/01/2100')
396
- .or('lastPing', '>', 1e6 - 2)
397
- .get()).toObject());
398
- equal((await db
399
- .query('machine')
400
- .include('id', 'lastPing')
401
- .filter('scheduled', '>', '01/01/2100')
402
- .or((f) => {
403
- f.filter('lastPing', '>', 1e6 - 2);
404
- f.or('temperature', '<', -30);
405
- })
406
- .get()).toObject().length > 10, true, 'Branch or');
407
- deepEqual((await db
408
- .query('machine')
409
- .include('id', 'lastPing')
410
- .filter('scheduled', '>', '01/01/2100')
411
- .or((f) => {
412
- f.filter('lastPing', '>', 1e6 - 2);
413
- f.or((f) => {
414
- f.filter('temperature', '<', -30);
415
- });
416
- })
417
- .get()).toObject(), (await db
418
- .query('machine')
419
- .include('id', 'lastPing')
420
- .filter('scheduled', '>', '01/01/2100')
421
- .or((f) => {
422
- f.filter('lastPing', '>', 1e6 - 2);
423
- f.or('temperature', '<', -30);
424
- })
425
- .get()).toObject());
426
- const r = (await db
427
- .query('machine')
428
- .include('temperature')
429
- .range(0, 15)
430
- .filter('temperature', '>', 0)
431
- .or('temperature', '<', -0.1)
432
- .get()).toObject();
433
- equal(r
434
- .map((v, i) => {
435
- return v.temperature > 0 ? true : false;
436
- })
437
- .reduce((acc, a) => {
438
- return a ? acc + 1 : acc;
439
- }, 0) > 0, true, 'Correct spread of temperature');
440
- });
441
- await test('or numerical', async (t) => {
442
- const db = new BasedDb({
443
- path: t.tmp,
444
- });
445
- await db.start({ clean: true });
446
- t.after(() => {
447
- return db.destroy();
448
- });
449
- await db.putSchema({
450
- types: {
451
- machine: {
452
- props: {
453
- temperature: 'uint8',
454
- },
455
- },
456
- },
457
- });
458
- console.log('-----------');
459
- for (let i = 0; i < 1e6; i++) {
460
- db.create('machine', {
461
- temperature: ~~(Math.random() * 200) + 1,
462
- });
463
- }
464
- console.log('----- end ------');
465
- await db.drain();
466
- const r = (await db
467
- .query('machine')
468
- .include('temperature')
469
- .range(0, 1000)
470
- .filter('temperature', '>', 150)
471
- .or('temperature', '<', 50)
472
- .get()).toObject();
473
- equal(r
474
- .map((v, i) => {
475
- return v.temperature < 50;
476
- })
477
- .reduce((acc, a) => {
478
- return a ? acc + 1 : acc;
479
- }, 0) > 0, true);
480
- equal(r
481
- .map((v, i) => {
482
- return v.temperature > 150;
483
- })
484
- .reduce((acc, a) => {
485
- return a ? acc + 1 : acc;
486
- }, 0) > 0, true);
487
- equal((await db
488
- .query('machine')
489
- .include('id', 'temperature')
490
- .filter('temperature', '>', 201)
491
- .or((f) => {
492
- f.filter('temperature', '>', 202);
493
- f.or('temperature', '<', 10);
494
- })
495
- .get()).toObject().length > 10, true, 'Branch or');
496
- for (let i = 0; i < 10000; i++) {
497
- if (i % 2) {
498
- db.remove('machine', 10000 + i);
499
- }
500
- }
501
- await db.drain();
502
- deepEqual((await db.query('machine').include('id').range(0, 3).get()).node(-1), {
503
- id: 3,
504
- });
505
- deepEqual((await db
506
- .query('machine')
507
- .include('temperature')
508
- .filter('id', '<=', 20000)
509
- .range(10000, 10000)
510
- .get()).node(-1).id, 20000);
511
- });
512
- //# sourceMappingURL=filter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../test/filter.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};