summaryrefslogtreecommitdiff
path: root/sc/README
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2017-08-16 03:03:04 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2017-08-16 11:11:24 +0200
commit4ad52186048e023234039f8344612b5123bb5700 (patch)
tree3da4692a10f09388753bd0c357f6bd3124b505c5 /sc/README
parentb021353dd62c3d8c9ee0281753b88f6304a2514d (diff)
introduce a way to write a simple data representation to a stream
The format used is column orientated and allows quick import and export of the table content. This will be used for the external data to cache the results of each transformation step in the UI. Change-Id: I6e1bfd3b3384cbfadeb98fb995dfd0b03d5e6eb6 Reviewed-on: https://gerrit.libreoffice.org/41198 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'sc/README')
-rw-r--r--sc/README25
1 files changed, 25 insertions, 0 deletions
diff --git a/sc/README b/sc/README
index 8dfb5ec613d7..89b74f744045 100644
--- a/sc/README
+++ b/sc/README
@@ -14,3 +14,28 @@ Dumps the graphic objects and their position and size in pixel.
Dumps the SfxItemSet representing the cell properties' of the
current selection as a xml file. The file will be named dump.xml
+
+=== The Cache Format ===
+
+ScDocument::StoreTabToCache allows storing the content (not the formatting)
+of a table to a binary cache format.
+
+The format is column orientated which allows quick serialization of the table.
+
+Header:
+ * Number of Columns: 64 bit unsigned integer
+
+Column:
+ * Column Index: 64 bit unsigned integer
+ * Column Size: 64 bit unsigned integer
+ * For each cell type block a new ColumnBlock
+
+ColumnBlock:
+ * Start Row: 64 bit unsigned integer
+ * Block Size: 64 bit unsigned integer
+ * Type: 8 bit unsigned integer
+ - 0 : empty
+ - 1 : numeric
+ * for each cell: 64 bit IEEE 754 double precision value
+ - 2 : string
+ * for each cell: 32 bit signed string length followed by string length bytes of the string (UTF-8)