changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / lisp/lib/dat/parquet/obj.lisp

changeset 557: da10aabba6a7
parent: 4d34907c69eb
child: 849f72b72b41
author: Richard Westhaver <ellis@rwest.io>
date: Wed, 24 Jul 2024 21:22:33 -0400
permissions: -rw-r--r--
description: fixes
1 ;;; obj.lisp --- Parquet Objects
2 
3 ;; Parquet class and type definitions generated from parquet.json.
4 
5 ;;; Code:
6 (in-package :dat/parquet)
7 
8 (defclass parquet-object () ())
9 
10 (defclass parquet-struct-object (parquet-object) ())
11 
12 (eval-always
13  (dat/parquet/gen::load-parquet))
14 
15 (macrolet ((def-parquet-type (name)
16  (let ((var-name (symbolicate "*" name "S*"))
17  (name1 (symbolicate name "*")))
18  `(progn
19  (deftype ,name () `(member ,,var-name))
20  (defun ,name (d) (position d ,var-name :test 'eql))
21  (defun ,name1 (n) (elt ,var-name n))))))
22  (def-parquet-type parquet-compression-codec)
23  (def-parquet-type parquet-boundary-order)
24  (def-parquet-type parquet-encoding)
25  (def-parquet-type parquet-field-repetition-type)
26  (def-parquet-type parquet-type)
27  (def-parquet-type parquet-converted-type)
28  (def-parquet-type parquet-page-type))