Coverage report: /home/ellis/comp/core/lib/dat/parquet/io.lisp

KindCoveredAll%
expression071 0.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;; io.lisp --- Parquet IO
2
 
3
 ;;
4
 
5
 ;;; Code:
6
 (in-package :dat/parquet)
7
 
8
 ;;; Read/Write
9
 (defun parquet-write-magic (stream)
10
   (write-string +parquet-magic-number+ stream))
11
 
12
 (defun parquet-read-magic (stream)
13
   (assert (= #.(char-code (aref +parquet-magic-number+ 0)) (read-byte stream)))
14
   (assert (= #.(char-code (aref +parquet-magic-number+ 1)) (read-byte stream)))
15
   (assert (= #.(char-code (aref +parquet-magic-number+ 2)) (read-byte stream)))
16
   (assert (= #.(char-code (aref +parquet-magic-number+ 3)) (read-byte stream))))
17
 
18
 (defun parquet-read-unsigned (stream)
19
   (read-uleb128 stream))
20
 
21
 (defun parquet-read-signed (stream)
22
   (read-leb128 stream))
23
 
24
 (defun parquet-read-boolean (stream)
25
   (ecase (read-byte stream)
26
     (0 nil)
27
     (1 t)))
28
 
29
 (defun parquet-file-stream-p (stream)
30
   "Assert the start and end of a file STREAM are the parquet magic bytes."
31
   (parquet-read-magic stream)
32
   ;; set position to end - 4
33
   (file-position stream (- (the fixnum (file-length stream)) 4))
34
   (parquet-read-magic stream))
35
 
36
 (defun parquet-read-schema-element (stream))
37
 (defun parquet-read-schema (stream)
38
   "Read a parquet-schema which is repeated list of parquet-schema-element."
39
   
40
   )
41
 
42
 (defun parquet-read-file-meta-data (stream)
43
   "Read a parquet-file-meta-data object from STREAM."
44
   ;; version
45
   (make-instance 'parquet-file-meta-data
46
     :version (parquet-read-signed stream)
47
     :schema (list (parquet-read-signed stream))))
48
 
49
 (defun parquet-read-footer (stream)
50
   "Read the footer of parquet data in STREAM."
51
   (parquet-file-stream-p stream)
52
   ;; set file-position, read metadata length and magic
53
   (file-position stream (- (file-length stream) 8))
54
   (let ((len (parquet-read-unsigned stream)))
55
     (file-position stream (- (file-length stream) 8 len))
56
     (parquet-read-file-meta-data stream)))