qvdjs 2.2.3 → 2.2.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.
- package/README.md +14 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -42,28 +42,31 @@ thing worth reading:
|
|
|
42
42
|
|
|
43
43
|
## Checked against Qlik Sense
|
|
44
44
|
|
|
45
|
-
qvdjs is compared with Qlik Sense itself, not only with its own reading of the format.
|
|
46
|
-
|
|
47
|
-
timestamps and NULLs - are defined twice, as Qlik
|
|
48
|
-
values a caller would write. Qlik Sense and qvdjs each
|
|
49
|
-
checked:
|
|
45
|
+
qvdjs is compared with Qlik Sense itself, not only with its own reading of the format. 48 fields in
|
|
46
|
+
8 datasets - integers, doubles, text (non-ASCII, empty and number-like included), booleans, dates,
|
|
47
|
+
timestamps, and NULLs beside numbers, text, dates and timestamps - are defined twice, as Qlik
|
|
48
|
+
load-script expressions and as the JavaScript values a caller would write. Qlik Sense and qvdjs each
|
|
49
|
+
write them to a QVD, and three things are checked:
|
|
50
50
|
|
|
51
51
|
- **qvdjs writes the content Qlik writes** - the same symbols, of the same types, with the same text,
|
|
52
52
|
on the same rows.
|
|
53
|
-
- **Given Qlik's tags and number formats, qvdjs writes them unchanged** - the bit layout
|
|
54
|
-
the only
|
|
53
|
+
- **Given Qlik's tags and number formats, qvdjs writes them unchanged** - the bit layout and a tag the
|
|
54
|
+
values contradict, below, are the only parts of a field's header left to differ.
|
|
55
55
|
- **Qlik reads qvdjs's file as it reads its own** - loaded into Qlik and stored again, with `Text()`,
|
|
56
56
|
`Num()`, `IsNum()`, `IsText()`, `IsNull()` and `Year()` the same on every row.
|
|
57
57
|
|
|
58
58
|
The live comparison runs on demand against a Qlik Sense server; its last run, against Qlik Sense
|
|
59
|
-
Enterprise on Windows build 50699, passed for all
|
|
59
|
+
Enterprise on Windows build 50699, passed for all 48 fields. Qlik's files from that run are kept in
|
|
60
60
|
the test suite, so **every CI run compares qvdjs's output with them again** - on Linux, Windows and
|
|
61
61
|
macOS, under Node 22, 24 and 26 - along with reference files Qlik wrote for booleans, dates and
|
|
62
62
|
timestamps.
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
where qvdjs uses the fewest
|
|
66
|
-
|
|
64
|
+
Three differences are by design. Qlik often gives a field more bits in the index than its values need,
|
|
65
|
+
where qvdjs uses the fewest. qvdjs adds no tags or number formats of its own - Qlik works tags out when
|
|
66
|
+
it loads a file, and keeps any the file carries. And qvdjs drops a tag the values contradict, even one
|
|
67
|
+
Qlik wrote: Qlik tags dates outside 1980 to 2080 as text when their field has no date format, although
|
|
68
|
+
its own `IsNum()` reads every one as a number. QVD is also QlikView's format, but QlikView is not part
|
|
69
|
+
of the comparison.
|
|
67
70
|
|
|
68
71
|
→ [Checked against Qlik Sense](https://qvdjs.ptarmiganlabs.com/v2.0/overview/checked-against-qlik-sense/)
|
|
69
72
|
|