harperdb 4.4.0-beta.1 → 4.4.0-beta.3

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 (73) hide show
  1. package/README.md +1 -1
  2. package/bin/harperdb.js +80 -78
  3. package/bin/lite.js +78 -76
  4. package/launchServiceScripts/launchInstallNATSServer.js +3 -3
  5. package/launchServiceScripts/launchNatsIngestService.js +78 -76
  6. package/launchServiceScripts/launchNatsReplyService.js +78 -76
  7. package/launchServiceScripts/launchUpdateNodes4-0-0.js +78 -76
  8. package/npm-shrinkwrap.json +350 -339
  9. package/package.json +3 -3
  10. package/resources/ResourceInterface.d.ts +1 -1
  11. package/resources/Table.d.ts +3 -0
  12. package/resources/auditStore.d.ts +5 -5
  13. package/resources/crdt.d.ts +1 -1
  14. package/resources/databases.d.ts +4 -0
  15. package/resources/search.d.ts +14 -1
  16. package/resources/tracked.d.ts +1 -1
  17. package/server/jobs/jobProcess.js +78 -76
  18. package/server/threads/threadServer.js +78 -76
  19. package/studio/build-local/asset-manifest.json +54 -0
  20. package/studio/build-local/index.html +1 -0
  21. package/studio/build-local/static/css/main.fee3019a.css +13 -0
  22. package/studio/build-local/static/js/23.3b9f7144.chunk.js +1 -0
  23. package/studio/build-local/static/js/239.183c6cbc.chunk.js +2 -0
  24. package/studio/build-local/static/js/239.183c6cbc.chunk.js.LICENSE.txt +5 -0
  25. package/studio/build-local/static/js/279.7890bce3.chunk.js +1 -0
  26. package/studio/build-local/static/js/311.9e648b13.chunk.js +2 -0
  27. package/studio/build-local/static/js/311.9e648b13.chunk.js.LICENSE.txt +38 -0
  28. package/studio/build-local/static/js/43.73dc432d.chunk.js +2 -0
  29. package/studio/build-local/static/js/43.73dc432d.chunk.js.LICENSE.txt +1 -0
  30. package/studio/build-local/static/js/452.d771b05a.chunk.js +2 -0
  31. package/studio/build-local/static/js/452.d771b05a.chunk.js.LICENSE.txt +13 -0
  32. package/studio/build-local/static/js/545.be2e36f9.chunk.js +1 -0
  33. package/studio/build-local/static/js/759.7c5150cd.chunk.js +2 -0
  34. package/studio/build-local/static/js/759.7c5150cd.chunk.js.LICENSE.txt +8 -0
  35. package/studio/build-local/static/js/805.6aab06e2.chunk.js +1 -0
  36. package/studio/build-local/static/js/806.afb99f70.chunk.js +1 -0
  37. package/studio/build-local/static/js/833.5b133801.chunk.js +1 -0
  38. package/studio/build-local/static/js/851.4c6536d6.chunk.js +1 -0
  39. package/studio/build-local/static/js/860.727e7fc8.chunk.js +1 -0
  40. package/studio/build-local/static/js/browse-csvupload.02fdfbea.chunk.js +1 -0
  41. package/studio/build-local/static/js/browse-datatable.0e20a171.chunk.js +1 -0
  42. package/studio/build-local/static/js/browse-entitymanager.0db076c3.chunk.js +1 -0
  43. package/studio/build-local/static/js/browse-jsonviewer.b690b1bb.chunk.js +1 -0
  44. package/studio/build-local/static/js/custom-functions.04b93135.chunk.js +1 -0
  45. package/studio/build-local/static/js/instance-charts.217c477d.chunk.js +1 -0
  46. package/studio/build-local/static/js/instance-cluster.0ba07710.chunk.js +1 -0
  47. package/studio/build-local/static/js/instance-config.2274de0a.chunk.js +1 -0
  48. package/studio/build-local/static/js/instance-query.fdc5f922.chunk.js +1 -0
  49. package/studio/build-local/static/js/instance-roles.38ef8e77.chunk.js +1 -0
  50. package/studio/build-local/static/js/instance-status.d09551b0.chunk.js +1 -0
  51. package/studio/build-local/static/js/instance-users-datatable.9b5617bc.chunk.js +1 -0
  52. package/studio/build-local/static/js/instance-users-edit.6ea9cc6f.chunk.js +1 -0
  53. package/studio/build-local/static/js/instance-users.876f6070.chunk.js +1 -0
  54. package/studio/build-local/static/js/instance.ad30f892.chunk.js +1 -0
  55. package/studio/build-local/static/js/instances.f4fec0cb.chunk.js +1 -0
  56. package/studio/build-local/static/js/main.6c8177db.js +2 -0
  57. package/studio/build-local/static/js/main.6c8177db.js.LICENSE.txt +39 -0
  58. package/studio/build-local/static/js/offline-app.31ad36fc.chunk.js +1 -0
  59. package/studio/build-local/static/js/online-app.91033fd0.chunk.js +1 -0
  60. package/studio/build-local/static/js/organization-billing.21b2d3c9.chunk.js +1 -0
  61. package/studio/build-local/static/js/organization-users.6f50ca02.chunk.js +1 -0
  62. package/studio/build-local/static/js/organization.89b902c4.chunk.js +1 -0
  63. package/studio/build-local/static/js/organizations.4933fdbc.chunk.js +1 -0
  64. package/studio/build-local/static/js/profile.c05c7042.chunk.js +1 -0
  65. package/studio/build-local/static/js/resetPassword.3478535b.chunk.js +1 -0
  66. package/studio/build-local/static/js/roles-jsonviewer.bf1011d5.chunk.js +1 -0
  67. package/studio/build-local/static/js/signIn.996cf7ee.chunk.js +1 -0
  68. package/studio/build-local/static/js/signUp.c8fce52d.chunk.js +1 -0
  69. package/studio/build-local/static/js/structure-reloader.f65842a1.chunk.js +1 -0
  70. package/studio/build-local/static/js/topnav.0fa4de77.chunk.js +1 -0
  71. package/studio/build-local/static/js/updatePassword.bc881b36.chunk.js +1 -0
  72. package/utility/install/README.md +23 -0
  73. package/utility/scripts/restartHdb.js +78 -76
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "harperdb",
3
- "version": "4.4.0-beta.1",
3
+ "version": "4.4.0-beta.3",
4
4
  "description": "HarperDB is a distributed database, caching service, streaming broker, and application development platform focused on performance and ease of use.",
5
5
  "keywords": [
6
6
  "database",
@@ -78,7 +78,7 @@
78
78
  "json2csv": "5.0.7",
79
79
  "jsonata": "1.8.7",
80
80
  "jsonwebtoken": "9.0.2",
81
- "lmdb": "3.1.2",
81
+ "lmdb": "3.1.3",
82
82
  "lodash": "4.17.21",
83
83
  "mathjs": "11.12.0",
84
84
  "minimist": "1.2.8",
@@ -92,7 +92,7 @@
92
92
  "node-unix-socket": "0.2.5",
93
93
  "normalize-path": "^3.0.0",
94
94
  "ora": "5.4.1",
95
- "ordered-binary": "1.5.1",
95
+ "ordered-binary": "1.5.2",
96
96
  "papaparse": "5.4.1",
97
97
  "passport": "0.6.0",
98
98
  "passport-http": "0.3.0",
@@ -37,7 +37,7 @@ export interface Context {
37
37
  /** An array of nodes to replicate to */
38
38
  replicateTo?: string[];
39
39
  }
40
- interface DirectCondition {
40
+ export interface DirectCondition {
41
41
  attribute: string;
42
42
  comparator?: string;
43
43
  value: any;
@@ -25,6 +25,7 @@ export interface Table {
25
25
  databaseName: string;
26
26
  attributes: any[];
27
27
  primaryKey: string;
28
+ splitSegments?: boolean;
28
29
  replicate?: boolean;
29
30
  subscriptions: Map<any, Function[]>;
30
31
  expirationMS: number;
@@ -184,6 +185,7 @@ export declare function makeTable(options: any): {
184
185
  attributes: any;
185
186
  replicate: any;
186
187
  sealed: any;
188
+ splitSegments: any;
187
189
  createdTimeProperty: Attribute;
188
190
  updatedTimeProperty: Attribute;
189
191
  propertyResolvers: any;
@@ -201,6 +203,7 @@ export declare function makeTable(options: any): {
201
203
  * @returns
202
204
  */
203
205
  sourcedFrom(source: any, options: any): any;
206
+ readonly isCaching: any;
204
207
  /**
205
208
  * Gets a resource instance, as defined by the Resource class, adding the table-specific handling
206
209
  * of also loading the stored record into the resource instance.
@@ -33,18 +33,18 @@ export declare const HAS_EXPIRATION_EXTENDED_TYPE = 4096;
33
33
  * @param previous_residency_id
34
34
  */
35
35
  export declare function createAuditEntry(txn_time: any, table_id: any, record_id: any, previous_local_time: any, node_id: any, username: any, type: any, encoded_record: any, extended_type: any, residency_id: any, previous_residency_id: any, expires_at: any, originating_operation?: string): Buffer;
36
- export declare function readAuditEntry(buffer: any): {
36
+ export declare function readAuditEntry(buffer: Uint8Array, start?: number, end?: any): {
37
37
  type: any;
38
38
  tableId: any;
39
39
  nodeId: any;
40
40
  readonly recordId: import("ordered-binary").Key;
41
- getBinaryRecordId(): any;
41
+ getBinaryRecordId(): Uint8Array;
42
42
  version: any;
43
43
  previousLocalTime: any;
44
44
  readonly user: import("ordered-binary").Key;
45
- encoded: any;
45
+ readonly encoded: Uint8Array;
46
46
  getValue(store: any, full_record?: any, audit_time?: any): any;
47
- getBinaryValue(): any;
47
+ getBinaryValue(): Uint8Array;
48
48
  extendedType: any;
49
49
  residencyId: any;
50
50
  previousResidencyId: any;
@@ -59,7 +59,7 @@ export declare function readAuditEntry(buffer: any): {
59
59
  version?: undefined;
60
60
  previousLocalTime?: undefined;
61
61
  readonly user?: undefined;
62
- encoded?: undefined;
62
+ readonly encoded?: undefined;
63
63
  getValue?: undefined;
64
64
  getBinaryValue?: undefined;
65
65
  extendedType?: undefined;
@@ -7,7 +7,7 @@ export declare namespace add {
7
7
  * @param update
8
8
  * @param newer_update
9
9
  */
10
- export declare function rebuildUpdateBefore(update: any, newer_update: any): any;
10
+ export declare function rebuildUpdateBefore(update: any, newer_update: any, full_update?: boolean): any;
11
11
  export declare function applyReverse(record: any, update: any): void;
12
12
  /**
13
13
  * Reconstruct the record state at a given timestamp by going back through the audit history and reversing any changes
@@ -39,6 +39,7 @@ interface TableDefinition {
39
39
  scanInterval?: number;
40
40
  audit?: boolean;
41
41
  sealed?: boolean;
42
+ splitSegments?: boolean;
42
43
  replicate?: boolean;
43
44
  trackDeletes?: boolean;
44
45
  attributes: any[];
@@ -70,6 +71,7 @@ export declare function dropDatabase(database_name: any): Promise<void>;
70
71
  * @param attributes
71
72
  * @param audit
72
73
  * @param sealed
74
+ * @param splitSegments
73
75
  * @param replicate
74
76
  */
75
77
  export declare function table(table_definition: TableDefinition): {
@@ -166,6 +168,7 @@ export declare function table(table_definition: TableDefinition): {
166
168
  attributes: any;
167
169
  replicate: any;
168
170
  sealed: any;
171
+ splitSegments: any;
169
172
  createdTimeProperty: {
170
173
  name: string;
171
174
  type: string;
@@ -189,6 +192,7 @@ export declare function table(table_definition: TableDefinition): {
189
192
  dbisDB: any;
190
193
  schemaDefined: any;
191
194
  sourcedFrom(source: any, options: any): any;
195
+ readonly isCaching: any;
192
196
  getResource(id: import("./ResourceInterface").Id, request: import("./ResourceInterface").Context, resource_options?: any): Promise<{
193
197
  ensureLoaded(): any;
194
198
  get(query?: import("./ResourceInterface").Query | string): Promise<object | void> | object | void;
@@ -1,3 +1,4 @@
1
+ import { DirectCondition, Id } from './ResourceInterface';
1
2
  export declare const COERCIBLE_OPERATORS: {
2
3
  lt: boolean;
3
4
  le: boolean;
@@ -7,7 +8,19 @@ export declare const COERCIBLE_OPERATORS: {
7
8
  eq: boolean;
8
9
  };
9
10
  export declare function executeConditions(conditions: any, operator: any, table: any, txn: any, request: any, context: any, transformToEntries: any, filtered: any): any;
10
- export declare function searchByIndex(search_condition: any, transaction: any, reverse: any, Table: any, allow_full_scan?: any, filtered?: any): any;
11
+ /**
12
+ * Search for records or keys, based on the search condition, using an index if available
13
+ * @param search_condition
14
+ * @param transaction
15
+ * @param reverse
16
+ * @param Table
17
+ * @param allow_full_scan
18
+ * @param filtered
19
+ */
20
+ export declare function searchByIndex(search_condition: DirectCondition, transaction: any, reverse: boolean, Table: any, allow_full_scan?: boolean, filtered?: boolean): AsyncIterable<Id | {
21
+ key: Id;
22
+ value: any;
23
+ }>;
11
24
  export declare function findAttribute(attributes: any, attribute_name: any): any;
12
25
  /**
13
26
  * Create a filter based on the search condition that can be used to test each supplied record.
@@ -24,7 +24,7 @@ export declare function collapseData(target: any): any;
24
24
  * @param target
25
25
  * @returns
26
26
  */
27
- export declare function deepFreeze(target: any, changes?: any): any;
27
+ export declare function updateAndFreeze(target: any, changes?: any): any;
28
28
  /**
29
29
  * Determine if any changes have been made to this tracked object
30
30
  * @param target