changelog shortlog graph tags branches files raw help

Mercurial > core / changeset: thrift fixes, org-get-with-inheritance init

changeset 640: 642b3b82b20d
parent 639: 32375ed43c74
child 641: 48bcbca019e6
author: Richard Westhaver <ellis@rwest.io>
date: Sun, 08 Sep 2024 17:35:03 -0400
files: emacs/lib/ulang.el lisp/lib/dat/parquet/gen.lisp lisp/lib/dat/parquet/thrift.lisp
description: thrift fixes, org-get-with-inheritance init
     1.1--- a/emacs/lib/ulang.el	Sun Sep 08 12:24:33 2024 -0400
     1.2+++ b/emacs/lib/ulang.el	Sun Sep 08 17:35:03 2024 -0400
     1.3@@ -150,12 +150,24 @@
     1.4 ;; currently does not support locations with spaces.. need to walk
     1.5 ;; ancestors ourselves to do so. for now only URIs and pathnames are
     1.6 ;; supported.
     1.7+(defun org-get-with-inheritance (property &optional literal-nil epom)
     1.8+  "Like `org-entry-get-with-inheritance' but in additional to properties we
     1.9+also check file keywords (aka in-buffer settings).
    1.10+
    1.11+For example, a PROPERTY value of 'LOCATION' would check all property
    1.12+values in addition to the keyword '#+LOCATION:'."
    1.13+  (interactive (list nil nil))
    1.14+  (let ((property (or property (org-read-property-name))))
    1.15+    ;; most of the work passed through to the property handler
    1.16+    (org-entry-get-with-inheritance property literal-nil epom)))
    1.17+
    1.18 (defun org-get-location (point)
    1.19   "Get the value of property LOCATION at POINT."
    1.20   (interactive "d")
    1.21   (org-with-point-at point
    1.22-    (format "%s" (or (apply 'join-paths (string-split (org-entry-get-with-inheritance "LOCATION") " "))
    1.23-                     (caadar (org-collect-keywords '("LOCATION") nil '("LOCATION")))))))
    1.24+    (message "%s" (or (when-let ((prop (org-entry-get-with-inheritance "LOCATION")))
    1.25+                        (apply 'join-paths (string-split prop " ")))
    1.26+                      (caadar (org-collect-keywords '("LOCATION") nil '("LOCATION")))))))
    1.27 
    1.28 (defun org-set-location (value)
    1.29   "Set the value of property LOCATION. If point is before first heading
     2.1--- a/lisp/lib/dat/parquet/gen.lisp	Sun Sep 08 12:24:33 2024 -0400
     2.2+++ b/lisp/lib/dat/parquet/gen.lisp	Sun Sep 08 17:35:03 2024 -0400
     2.3@@ -18,37 +18,35 @@
     2.4 
     2.5 (defvar *parquet-json* nil)
     2.6 
     2.7-(defun %parquet-json-enums ()
     2.8-  (json-getf *parquet-json* "enums"))
     2.9+(eval-always
    2.10+  (defun %parquet-json-enums ()
    2.11+    (json-getf *parquet-json* "enums"))
    2.12 
    2.13-(defun dat/parquet::parquet-json-enum-getf (name)
    2.14-  (json-getf
    2.15-   (find-if (lambda (x) (equal name (json-getf x "name"))) (%parquet-json-enums))
    2.16-   "members"))
    2.17+  (defun dat/parquet::parquet-json-enum-getf (name)
    2.18+    (json-getf
    2.19+     (find-if (lambda (x) (equal name (json-getf x "name"))) (%parquet-json-enums))
    2.20+     "members"))
    2.21 
    2.22-(defun dat/parquet::snakecase-name-to-lisp-name (string)
    2.23-  (string-upcase
    2.24-   (substitute #\- #\_ string)))
    2.25+  (defun dat/parquet::snakecase-name-to-lisp-name (string)
    2.26+    (string-upcase
    2.27+     (substitute #\- #\_ string)))
    2.28 
    2.29-(defun dat/parquet::camelcase-name-to-lisp-name (string)
    2.30-  (string-upcase
    2.31-   (with-output-to-string (name)
    2.32-     (loop for i from 0 below (length string)
    2.33-           for c across string
    2.34-           when (and (upper-case-p c) (not (zerop i)))
    2.35-           do (write-char #\- name)
    2.36-           do (write-char c name)))))
    2.37+  (defun dat/parquet::camelcase-name-to-lisp-name (string)
    2.38+    (string-upcase
    2.39+     (with-output-to-string (name)
    2.40+       (loop for i from 0 below (length string)
    2.41+             for c across string
    2.42+             when (and (upper-case-p c) (not (zerop i)))
    2.43+               do (write-char #\- name)
    2.44+             do (write-char c name))))))
    2.45 
    2.46 (defvar *parquet-enums* nil)
    2.47 
    2.48 (defmacro define-parquet-enum (sym name)
    2.49   `(progn
    2.50-     (defun ,(symbolicate "PARQUET-JSON-" sym) ()
    2.51-       (mapcar (lambda (x) (keywordicate (snakecase-name-to-lisp-name (json-getf x "name"))))
    2.52-               (parquet-json-enum-getf ,name)))
    2.53-     (defparameter ,(symbolicate
    2.54-                     (concatenate 'string "*PARQUET-" (symbol-name sym) "*"))
    2.55-       (,(symbolicate "PARQUET-JSON-" sym)))))
    2.56+     (defvar ,(symbolicate "*PARQUET-JSON-" sym "*")
    2.57+       ',(mapcar (lambda (x) (keywordicate (dat/parquet::snakecase-name-to-lisp-name (json-getf x "name"))))
    2.58+                 (dat/parquet::parquet-json-enum-getf name)))))
    2.59 
    2.60 (labels ((parse-type-id (type-id)
    2.61            (when type-id
    2.62@@ -73,7 +71,7 @@
    2.63                   ((equal name "UUIDType") "PARQUET-UUID-TYPE")
    2.64                   (t (concatenate 'string
    2.65                                   "PARQUET-"
    2.66-                                  (camelcase-name-to-lisp-name name)))))
    2.67+                                  (dat/parquet::camelcase-name-to-lisp-name name)))))
    2.68                name))
    2.69          (parse-type (o)
    2.70            (when o
    2.71@@ -165,12 +163,12 @@
    2.72                                                ((equal name "UUIDType") "PARQUET-UUID-TYPE")
    2.73                                                (t (concatenate 'string
    2.74                                                                "PARQUET-"
    2.75-                                                               (camelcase-name-to-lisp-name name)))))))
    2.76+                                                               (dat/parquet::camelcase-name-to-lisp-name name)))))))
    2.77                     `(progn
    2.78                        (defclass ,class-name (dat/parquet::parquet-object)
    2.79                                  (,@(mapcar (lambda (f)
    2.80                                               (let ((fdoc (parquet-struct-field-doc f))
    2.81-                                                    (fname (snakecase-name-to-lisp-name
    2.82+                                                    (fname (dat/parquet::snakecase-name-to-lisp-name
    2.83                                                             (parquet-struct-field-name f))))
    2.84                                                 `(,(symbolicate fname)
    2.85                                                   ,@(when fdoc `(:documentation ,fdoc))
    2.86@@ -185,7 +183,7 @@
    2.87 
    2.88 (defmacro define-parquet-type (name opts &body body)
    2.89   "Define a parquet type with DEFTYPE which maps to LISP-TYPE."
    2.90-  `(deftype ,(symbolicate "PARQUET-" (substitute #\- #\_ name)) ,opts ,@body))
    2.91+  `(progn (deftype ,(symbolicate "PARQUET-" (substitute #\- #\_ name)) ,opts ,@body)))
    2.92 
    2.93 (defun parse-parquet-thrift-definitions (&key (input *parquet-json-file*)
    2.94                                            (output #.(asdf:system-relative-pathname :dat "parquet/thrift.lisp")))
     3.1--- a/lisp/lib/dat/parquet/thrift.lisp	Sun Sep 08 12:24:33 2024 -0400
     3.2+++ b/lisp/lib/dat/parquet/thrift.lisp	Sun Sep 08 17:35:03 2024 -0400
     3.3@@ -10,111 +10,34 @@
     3.4 ;;; Code:
     3.5 (in-package :dat/parquet)
     3.6 
     3.7-(defun parquet-json-types ()
     3.8-  (mapcar
     3.9-   (lambda (x)
    3.10-     (keywordicate (snakecase-name-to-lisp-name (json-getf x "name"))))
    3.11-   (parquet-json-enum-getf "Type")))
    3.12-(defparameter *parquet-types* (parquet-json-types))
    3.13-(defun parquet-json-converted-types ()
    3.14-  (mapcar
    3.15-   (lambda (x)
    3.16-     (keywordicate (snakecase-name-to-lisp-name (json-getf x "name"))))
    3.17-   (parquet-json-enum-getf "ConvertedType")))
    3.18-(defparameter *parquet-converted-types* (parquet-json-converted-types))
    3.19-(defun parquet-json-field-repetition-types ()
    3.20-  (mapcar
    3.21-   (lambda (x)
    3.22-     (keywordicate (snakecase-name-to-lisp-name (json-getf x "name"))))
    3.23-   (parquet-json-enum-getf "FieldRepetitionType")))
    3.24-(defparameter *parquet-field-repetition-types*
    3.25-  (parquet-json-field-repetition-types))
    3.26-(defun parquet-json-encodings ()
    3.27-  (mapcar
    3.28-   (lambda (x)
    3.29-     (keywordicate (snakecase-name-to-lisp-name (json-getf x "name"))))
    3.30-   (parquet-json-enum-getf "Encoding")))
    3.31-(defparameter *parquet-encodings* (parquet-json-encodings))
    3.32-(defun parquet-json-compression-codecs ()
    3.33-  (mapcar
    3.34-   (lambda (x)
    3.35-     (keywordicate (snakecase-name-to-lisp-name (json-getf x "name"))))
    3.36-   (parquet-json-enum-getf "CompressionCodec")))
    3.37-(defparameter *parquet-compression-codecs* (parquet-json-compression-codecs))
    3.38-(defun parquet-json-page-types ()
    3.39-  (mapcar
    3.40-   (lambda (x)
    3.41-     (keywordicate (snakecase-name-to-lisp-name (json-getf x "name"))))
    3.42-   (parquet-json-enum-getf "PageType")))
    3.43-(defparameter *parquet-page-types* (parquet-json-page-types))
    3.44-(defun parquet-json-boundary-orders ()
    3.45-  (mapcar
    3.46-   (lambda (x)
    3.47-     (keywordicate (snakecase-name-to-lisp-name (json-getf x "name"))))
    3.48-   (parquet-json-enum-getf "BoundaryOrder")))
    3.49-(defparameter *parquet-boundary-orders* (parquet-json-boundary-orders))
    3.50-(eval-when (:compile-toplevel :load-toplevel :execute)
    3.51-  (sb-impl::%deftype 'parquet-boolean
    3.52-                     (sb-impl::constant-type-expander 'parquet-boolean
    3.53-                                                      (progn 'boolean))
    3.54-                     (sb-c:source-location)))
    3.55-(eval-when (:compile-toplevel :load-toplevel :execute)
    3.56-  (sb-impl::%deftype 'parquet-int32
    3.57-                     (sb-impl::constant-type-expander 'parquet-int32
    3.58-                                                      (progn
    3.59-                                                       '(signed-byte 32)))
    3.60-                     (sb-c:source-location)))
    3.61-(eval-when (:compile-toplevel :load-toplevel :execute)
    3.62-  (sb-impl::%deftype 'parquet-int64
    3.63-                     (sb-impl::constant-type-expander 'parquet-int64
    3.64-                                                      (progn
    3.65-                                                       '(signed-byte 64)))
    3.66-                     (sb-c:source-location)))
    3.67-(eval-when (:compile-toplevel :load-toplevel :execute)
    3.68-  (sb-impl::%deftype 'parquet-int96
    3.69-                     (sb-impl::constant-type-expander 'parquet-int96
    3.70-                                                      (progn
    3.71-                                                       '(signed-byte 96)))
    3.72-                     (sb-c:source-location)))
    3.73-(eval-when (:compile-toplevel :load-toplevel :execute)
    3.74-  (sb-impl::%deftype 'parquet-float
    3.75-                     (sb-impl::constant-type-expander 'parquet-float
    3.76-                                                      (progn 'float))
    3.77-                     (sb-c:source-location)))
    3.78-(eval-when (:compile-toplevel :load-toplevel :execute)
    3.79-  (sb-impl::%deftype 'parquet-double
    3.80-                     (sb-impl::constant-type-expander 'parquet-double
    3.81-                                                      (progn 'double-float))
    3.82-                     (sb-c:source-location)))
    3.83-(eval-when (:compile-toplevel :load-toplevel :execute)
    3.84-  (sb-impl::%deftype 'parquet-byte-array
    3.85-                     (sb-int:named-lambda (sb-impl::type-expander
    3.86-                                           parquet-byte-array)
    3.87-                         (#:expr)
    3.88-                       (declare (sb-c::lambda-list (&optional size)))
    3.89-                       (sb-int:named-ds-bind (:macro parquet-byte-array
    3.90-                                              . deftype)
    3.91-                           (&optional size)
    3.92-                           (cdr #:expr)
    3.93-                         (declare (sb-c::constant-value size))
    3.94-                         (block parquet-byte-array `(octet-vector ,size))))
    3.95-                     nil))
    3.96-(eval-when (:compile-toplevel :load-toplevel :execute)
    3.97-  (sb-impl::%deftype 'parquet-fixed-len-byte-array
    3.98-                     (sb-int:named-lambda (sb-impl::type-expander
    3.99-                                           parquet-fixed-len-byte-array)
   3.100-                         (#:expr)
   3.101-                       (declare (sb-c::lambda-list (size)))
   3.102-                       (sb-int:named-ds-bind (:macro
   3.103-                                              parquet-fixed-len-byte-array
   3.104-                                              . deftype)
   3.105-                           (size)
   3.106-                           (cdr #:expr)
   3.107-                         (declare (sb-c::constant-value size))
   3.108-                         (block parquet-fixed-len-byte-array
   3.109-                           `(octet-vector ,size))))
   3.110-                     nil))
   3.111-(defclass parquet-size-statistics (dat/parquet:parquet-object)
   3.112+(defvar *parquet-json-types*
   3.113+  '(:boolean :int32 :int64 :int96 :float :double :byte-array
   3.114+    :fixed-len-byte-array))
   3.115+(defvar *parquet-json-converted-types*
   3.116+  '(:utf8 :map :map-key-value :list :enum :decimal :date :time-millis
   3.117+    :time-micros :timestamp-millis :timestamp-micros :uint-8 :uint-16 :uint-32
   3.118+    :uint-64 :int-8 :int-16 :int-32 :int-64 :json :bson :interval))
   3.119+(defvar *parquet-json-field-repetition-types* '(:required :optional :repeated))
   3.120+(defvar *parquet-json-encodings*
   3.121+  '(:plain :plain-dictionary :rle :bit-packed :delta-binary-packed
   3.122+    :delta-length-byte-array :delta-byte-array :rle-dictionary
   3.123+    :byte-stream-split))
   3.124+(defvar *parquet-json-compression-codecs*
   3.125+  '(:uncompressed :snappy :gzip :lzo :brotli :lz4 :zstd :lz4-raw))
   3.126+(defvar *parquet-json-page-types*
   3.127+  '(:data-page :index-page :dictionary-page :data-page-v2))
   3.128+(defvar *parquet-json-boundary-orders* '(:unordered :ascending :descending))
   3.129+(deftype parquet-boolean () 'boolean)
   3.130+(deftype parquet-int32 () '(signed-byte 32))
   3.131+(deftype parquet-int64 () '(signed-byte 64))
   3.132+(deftype parquet-int96 () '(signed-byte 96))
   3.133+(deftype parquet-float () 'float)
   3.134+(deftype parquet-double () 'double-float)
   3.135+(deftype parquet-byte-array (&optional dat/parquet/gen::size)
   3.136+  `(octet-vector ,dat/parquet/gen::size))
   3.137+(deftype parquet-fixed-len-byte-array (dat/parquet/gen::size)
   3.138+  `(octet-vector ,dat/parquet/gen::size))
   3.139+(defclass parquet-size-statistics (parquet-object)
   3.140           ((unencoded-byte-array-data-bytes :documentation
   3.141             "The number of physical bytes stored for BYTE_ARRAY data values assuming
   3.142 no encoding. This is exclusive of the bytes needed to store the length of
   3.143@@ -163,7 +86,7 @@
   3.144 in this structure can help determine the number of nulls at a particular
   3.145 nesting level and maximum length of lists).
   3.146 "))
   3.147-(defclass parquet-statistics (dat/parquet:parquet-object)
   3.148+(defclass parquet-statistics (parquet-object)
   3.149           ((max :documentation
   3.150                 "DEPRECATED: min and max value of the column. Use min_value and max_value.
   3.151 
   3.152@@ -214,16 +137,16 @@
   3.153           (:documentation "Statistics per row group and per page
   3.154 All fields are optional.
   3.155 "))
   3.156-(defclass parquet-string-type (dat/parquet:parquet-object) nil
   3.157+(defclass parquet-string-type (parquet-object) nil
   3.158           (:documentation "Empty structs to use as logical type annotations
   3.159 "))
   3.160-(defclass parquet-uuid-type (dat/parquet:parquet-object) nil)
   3.161-(defclass parquet-map-type (dat/parquet:parquet-object) nil)
   3.162-(defclass parquet-list-type (dat/parquet:parquet-object) nil)
   3.163-(defclass parquet-enum-type (dat/parquet:parquet-object) nil)
   3.164-(defclass parquet-date-type (dat/parquet:parquet-object) nil)
   3.165-(defclass parquet-float16-type (dat/parquet:parquet-object) nil)
   3.166-(defclass parquet-null-type (dat/parquet:parquet-object) nil
   3.167+(defclass parquet-uuid-type (parquet-object) nil)
   3.168+(defclass parquet-map-type (parquet-object) nil)
   3.169+(defclass parquet-list-type (parquet-object) nil)
   3.170+(defclass parquet-enum-type (parquet-object) nil)
   3.171+(defclass parquet-date-type (parquet-object) nil)
   3.172+(defclass parquet-float16-type (parquet-object) nil)
   3.173+(defclass parquet-null-type (parquet-object) nil
   3.174           (:documentation
   3.175            "Logical type to annotate a column that is always null.
   3.176 
   3.177@@ -231,7 +154,7 @@
   3.178 null and the physical type can't be determined. This annotation signals
   3.179 the case where the physical type was guessed from all null values.
   3.180 "))
   3.181-(defclass parquet-decimal-type (dat/parquet:parquet-object)
   3.182+(defclass parquet-decimal-type (parquet-object)
   3.183           ((scale :initarg :scale :type (signed-byte 32))
   3.184            (precision :initarg :precision :type (signed-byte 32)))
   3.185           (:documentation "Decimal logical type annotation
   3.186@@ -244,33 +167,33 @@
   3.187 
   3.188 Allowed for physical types: INT32, INT64, FIXED_LEN_BYTE_ARRAY, and BYTE_ARRAY.
   3.189 "))
   3.190-(defclass parquet-milli-seconds (dat/parquet:parquet-object) nil
   3.191+(defclass parquet-milli-seconds (parquet-object) nil
   3.192           (:documentation "Time units for logical types
   3.193 "))
   3.194-(defclass parquet-micro-seconds (dat/parquet:parquet-object) nil)
   3.195-(defclass parquet-nano-seconds (dat/parquet:parquet-object) nil)
   3.196-(defclass parquet-time-unit (dat/parquet:parquet-object)
   3.197+(defclass parquet-micro-seconds (parquet-object) nil)
   3.198+(defclass parquet-nano-seconds (parquet-object) nil)
   3.199+(defclass parquet-time-unit (parquet-object)
   3.200           ((millis :initarg :millis :initform nil :type
   3.201             (or null parquet-milli-seconds))
   3.202            (micros :initarg :micros :initform nil :type
   3.203             (or null parquet-micro-seconds))
   3.204            (nanos :initarg :nanos :initform nil :type
   3.205             (or null parquet-nano-seconds))))
   3.206-(defclass parquet-timestamp-type (dat/parquet:parquet-object)
   3.207+(defclass parquet-timestamp-type (parquet-object)
   3.208           ((isadjustedtoutc :initarg :isadjustedtoutc :type boolean)
   3.209            (unit :initarg :unit :type parquet-time-unit))
   3.210           (:documentation "Timestamp logical type annotation
   3.211 
   3.212 Allowed for physical types: INT64
   3.213 "))
   3.214-(defclass parquet-time-type (dat/parquet:parquet-object)
   3.215+(defclass parquet-time-type (parquet-object)
   3.216           ((isadjustedtoutc :initarg :isadjustedtoutc :type boolean)
   3.217            (unit :initarg :unit :type parquet-time-unit))
   3.218           (:documentation "Time logical type annotation
   3.219 
   3.220 Allowed for physical types: INT32 (millis), INT64 (micros, nanos)
   3.221 "))
   3.222-(defclass parquet-int-type (dat/parquet:parquet-object)
   3.223+(defclass parquet-int-type (parquet-object)
   3.224           ((bitwidth :initarg :bitwidth)
   3.225            (issigned :initarg :issigned :type boolean))
   3.226           (:documentation "Integer logical type annotation
   3.227@@ -279,17 +202,17 @@
   3.228 
   3.229 Allowed for physical types: INT32, INT64
   3.230 "))
   3.231-(defclass parquet-json-type (dat/parquet:parquet-object) nil
   3.232+(defclass parquet-json-type (parquet-object) nil
   3.233           (:documentation "Embedded JSON logical type annotation
   3.234 
   3.235 Allowed for physical types: BYTE_ARRAY
   3.236 "))
   3.237-(defclass parquet-bson-type (dat/parquet:parquet-object) nil
   3.238+(defclass parquet-bson-type (parquet-object) nil
   3.239           (:documentation "Embedded BSON logical type annotation
   3.240 
   3.241 Allowed for physical types: BYTE_ARRAY
   3.242 "))
   3.243-(defclass parquet-logical-type (dat/parquet:parquet-object)
   3.244+(defclass parquet-logical-type (parquet-object)
   3.245           ((string :initarg :string :initform nil :type
   3.246                    (or null parquet-string-type))
   3.247            (map :initarg :map :initform nil :type (or null parquet-map-type))
   3.248@@ -328,7 +251,7 @@
   3.249 SchemaElement must also set the corresponding ConvertedType (if any)
   3.250 from the following table.
   3.251 "))
   3.252-(defclass parquet-schema-element (dat/parquet:parquet-object)
   3.253+(defclass parquet-schema-element (parquet-object)
   3.254           ((type :documentation
   3.255             "Data type for this field. Not set if the current element is a non-leaf node
   3.256 "
   3.257@@ -392,7 +315,7 @@
   3.258  - if it is a primitive type (leaf) then type is defined and num_children is undefined
   3.259 the nodes are listed in depth first traversal order.
   3.260 "))
   3.261-(defclass parquet-data-page-header (dat/parquet:parquet-object)
   3.262+(defclass parquet-data-page-header (parquet-object)
   3.263           ((num-values :documentation
   3.264             "Number of values, including NULLs, in this data page.
   3.265 
   3.266@@ -420,8 +343,8 @@
   3.267             (or null parquet-statistics)))
   3.268           (:documentation "Data page header
   3.269 "))
   3.270-(defclass parquet-index-page-header (dat/parquet:parquet-object) nil)
   3.271-(defclass parquet-dictionary-page-header (dat/parquet:parquet-object)
   3.272+(defclass parquet-index-page-header (parquet-object) nil)
   3.273+(defclass parquet-dictionary-page-header (parquet-object)
   3.274           ((num-values :documentation "Number of values in the dictionary *
   3.275 "
   3.276             :initarg :num-values :type (signed-byte 32))
   3.277@@ -438,7 +361,7 @@
   3.278 can be placed in a column chunk.
   3.279 
   3.280 "))
   3.281-(defclass parquet-data-page-header-v2 (dat/parquet:parquet-object)
   3.282+(defclass parquet-data-page-header-v2 (parquet-object)
   3.283           ((num-values :documentation
   3.284             "Number of values, including NULLs, in this data page. *
   3.285 "
   3.286@@ -483,10 +406,10 @@
   3.287 The remaining section containing the data is compressed if is_compressed is true
   3.288 
   3.289 "))
   3.290-(defclass parquet-split-block-algorithm (dat/parquet:parquet-object) nil
   3.291+(defclass parquet-split-block-algorithm (parquet-object) nil
   3.292           (:documentation "Block-based algorithm type annotation. *
   3.293 "))
   3.294-(defclass parquet-bloom-filter-algorithm (dat/parquet:parquet-object)
   3.295+(defclass parquet-bloom-filter-algorithm (parquet-object)
   3.296           ((block :documentation
   3.297              "Block-based Bloom filter. *
   3.298 "
   3.299@@ -498,13 +421,13 @@
   3.300              (or null parquet-split-block-algorithm)))
   3.301           (:documentation "The algorithm used in Bloom filter. *
   3.302 "))
   3.303-(defclass parquet-xx-hash (dat/parquet:parquet-object) nil
   3.304+(defclass parquet-xx-hash (parquet-object) nil
   3.305           (:documentation
   3.306            "Hash strategy type annotation. xxHash is an extremely fast non-cryptographic hash
   3.307 algorithm. It uses 64 bits version of xxHash.
   3.308 
   3.309 "))
   3.310-(defclass parquet-bloom-filter-hash (dat/parquet:parquet-object)
   3.311+(defclass parquet-bloom-filter-hash (parquet-object)
   3.312           ((xxhash :documentation "xxHash Strategy. *
   3.313 "
   3.314             :initarg :xxhash :initform nil :type (or null parquet-xx-hash)))
   3.315@@ -513,14 +436,14 @@
   3.316 using plain encoding.
   3.317 
   3.318 "))
   3.319-(defclass parquet-uncompressed (dat/parquet:parquet-object) nil
   3.320+(defclass parquet-uncompressed (parquet-object) nil
   3.321           (:documentation "The compression used in the Bloom filter.
   3.322 
   3.323 "))
   3.324-(defclass parquet-bloom-filter-compression (dat/parquet:parquet-object)
   3.325+(defclass parquet-bloom-filter-compression (parquet-object)
   3.326           ((uncompressed :initarg :uncompressed :initform nil :type
   3.327             (or null parquet-uncompressed))))
   3.328-(defclass parquet-bloom-filter-header (dat/parquet:parquet-object)
   3.329+(defclass parquet-bloom-filter-header (parquet-object)
   3.330           ((numbytes :documentation "The size of bitset in bytes *
   3.331 "
   3.332             :initarg :numbytes :type (signed-byte 32))
   3.333@@ -539,7 +462,7 @@
   3.334 and followed by its bitset.
   3.335 
   3.336 "))
   3.337-(defclass parquet-page-header (dat/parquet:parquet-object)
   3.338+(defclass parquet-page-header (parquet-object)
   3.339           ((type :documentation
   3.340             "the type of the page: indicates which of the *_header fields is set *
   3.341 "
   3.342@@ -579,12 +502,12 @@
   3.343             nil :type (or null parquet-dictionary-page-header))
   3.344            (data-page-header-v2 :initarg :data-page-header-v2 :initform nil
   3.345             :type (or null parquet-data-page-header-v2))))
   3.346-(defclass parquet-key-value (dat/parquet:parquet-object)
   3.347+(defclass parquet-key-value (parquet-object)
   3.348           ((key :initarg :key :type string)
   3.349            (value :initarg :value :initform nil :type (or null string)))
   3.350           (:documentation "Wrapper struct to store key values
   3.351 "))
   3.352-(defclass parquet-sorting-column (dat/parquet:parquet-object)
   3.353+(defclass parquet-sorting-column (parquet-object)
   3.354           ((column-idx :documentation
   3.355             "The ordinal position of the column (in this row group) *
   3.356 "
   3.357@@ -600,7 +523,7 @@
   3.358             :initarg :nulls-first :type boolean))
   3.359           (:documentation "Sort order within a RowGroup of a leaf column
   3.360 "))
   3.361-(defclass parquet-page-encoding-stats (dat/parquet:parquet-object)
   3.362+(defclass parquet-page-encoding-stats (parquet-object)
   3.363           ((page-type :documentation "the page type (data\\dic\\...) *
   3.364 "
   3.365             :initarg :page-type :type parquet-page-type)
   3.366@@ -613,7 +536,7 @@
   3.367                   :initarg :count :type (signed-byte 32)))
   3.368           (:documentation "statistics of a given page type and encoding
   3.369 "))
   3.370-(defclass parquet-column-meta-data (dat/parquet:parquet-object)
   3.371+(defclass parquet-column-meta-data (parquet-object)
   3.372           ((type :documentation "Type of this column *
   3.373 "
   3.374             :initarg :type :type parquet-type)
   3.375@@ -693,8 +616,8 @@
   3.376             (or null parquet-size-statistics)))
   3.377           (:documentation "Description for column metadata
   3.378 "))
   3.379-(defclass parquet-encryption-with-footer-key (dat/parquet:parquet-object) nil)
   3.380-(defclass parquet-encryption-with-column-key (dat/parquet:parquet-object)
   3.381+(defclass parquet-encryption-with-footer-key (parquet-object) nil)
   3.382+(defclass parquet-encryption-with-column-key (parquet-object)
   3.383           ((path-in-schema :documentation "Column path in schema *
   3.384 "
   3.385             :initarg :path-in-schema :type (vector string))
   3.386@@ -702,12 +625,12 @@
   3.387             "Retrieval metadata of column encryption key *
   3.388 "
   3.389             :initarg :key-metadata :initform nil :type (or null octet-vector))))
   3.390-(defclass parquet-column-crypto-meta-data (dat/parquet:parquet-object)
   3.391+(defclass parquet-column-crypto-meta-data (parquet-object)
   3.392           ((encryption-with-footer-key :initarg :encryption-with-footer-key
   3.393             :initform nil :type (or null parquet-encryption-with-footer-key))
   3.394            (encryption-with-column-key :initarg :encryption-with-column-key
   3.395             :initform nil :type (or null parquet-encryption-with-column-key))))
   3.396-(defclass parquet-column-chunk (dat/parquet:parquet-object)
   3.397+(defclass parquet-column-chunk (parquet-object)
   3.398           ((file-path :documentation
   3.399             "File where column data is stored.  If not set, assumed to be same file as
   3.400 metadata.  This path is relative to the current file.
   3.401@@ -764,7 +687,7 @@
   3.402 "
   3.403             :initarg :encrypted-column-metadata :initform nil :type
   3.404             (or null octet-vector))))
   3.405-(defclass parquet-row-group (dat/parquet:parquet-object)
   3.406+(defclass parquet-row-group (parquet-object)
   3.407           ((columns :documentation
   3.408             "Metadata for each column chunk in this row group.
   3.409 This list must have the same order as the SchemaElement list in FileMetaData.
   3.410@@ -799,11 +722,11 @@
   3.411            (ordinal :documentation "Row group ordinal in the file *
   3.412 "
   3.413             :initarg :ordinal :initform nil :type (or null (signed-byte 16)))))
   3.414-(defclass parquet-type-defined-order (dat/parquet:parquet-object) nil
   3.415+(defclass parquet-type-defined-order (parquet-object) nil
   3.416           (:documentation
   3.417            "Empty struct to signal the order defined by the physical or logical type
   3.418 "))
   3.419-(defclass parquet-column-order (dat/parquet:parquet-object)
   3.420+(defclass parquet-column-order (parquet-object)
   3.421           ((type-order :documentation "The sort orders for logical types are:
   3.422   UTF8 - unsigned byte-wise comparison
   3.423   INT8 - signed comparison
   3.424@@ -867,7 +790,7 @@
   3.425 If the reader does not support the value of this union, min and max stats
   3.426 for this column should be ignored.
   3.427 "))
   3.428-(defclass parquet-page-location (dat/parquet:parquet-object)
   3.429+(defclass parquet-page-location (parquet-object)
   3.430           ((offset :documentation "Offset of the page in the file *
   3.431 "
   3.432             :initarg :offset :type (signed-byte 64))
   3.433@@ -882,7 +805,7 @@
   3.434 (repetition_level = 0).
   3.435 "
   3.436             :initarg :first-row-index :type (signed-byte 64))))
   3.437-(defclass parquet-offset-index (dat/parquet:parquet-object)
   3.438+(defclass parquet-offset-index (parquet-object)
   3.439           ((page-locations :documentation
   3.440             "PageLocations, ordered by increasing PageLocation.offset. It is required
   3.441 that page_locations[i].first_row_index < page_locations[i+1].first_row_index.
   3.442@@ -902,7 +825,7 @@
   3.443 
   3.444 OffsetIndex may be present even if ColumnIndex is not.
   3.445 "))
   3.446-(defclass parquet-column-index (dat/parquet:parquet-object)
   3.447+(defclass parquet-column-index (parquet-object)
   3.448           ((null-pages :documentation
   3.449             "A list of Boolean values to determine the validity of the corresponding
   3.450 min and max values. If true, a page contains only null values, and writers
   3.451@@ -966,7 +889,7 @@
   3.452 For each field in this structure, <field>[i] refers to the page at
   3.453 OffsetIndex.page_locations[i]
   3.454 "))
   3.455-(defclass parquet-aes-gcm-v1 (dat/parquet:parquet-object)
   3.456+(defclass parquet-aes-gcm-v1 (parquet-object)
   3.457           ((aad-prefix :documentation "AAD prefix *
   3.458 "
   3.459             :initarg :aad-prefix :initform nil :type (or null octet-vector))
   3.460@@ -980,7 +903,7 @@
   3.461 readers must supply the prefix *
   3.462 "
   3.463             :initarg :supply-aad-prefix :initform nil :type (or null boolean))))
   3.464-(defclass parquet-aes-gcm-ctr-v1 (dat/parquet:parquet-object)
   3.465+(defclass parquet-aes-gcm-ctr-v1 (parquet-object)
   3.466           ((aad-prefix :documentation "AAD prefix *
   3.467 "
   3.468             :initarg :aad-prefix :initform nil :type (or null octet-vector))
   3.469@@ -994,12 +917,12 @@
   3.470 readers must supply the prefix *
   3.471 "
   3.472             :initarg :supply-aad-prefix :initform nil :type (or null boolean))))
   3.473-(defclass parquet-encryption-algorithm (dat/parquet:parquet-object)
   3.474+(defclass parquet-encryption-algorithm (parquet-object)
   3.475           ((aes-gcm-v1 :initarg :aes-gcm-v1 :initform nil :type
   3.476             (or null parquet-aes-gcm-v1))
   3.477            (aes-gcm-ctr-v1 :initarg :aes-gcm-ctr-v1 :initform nil :type
   3.478             (or null parquet-aes-gcm-ctr-v1))))
   3.479-(defclass parquet-file-meta-data (dat/parquet:parquet-object)
   3.480+(defclass parquet-file-meta-data (parquet-object)
   3.481           ((version :documentation "Version of this file *
   3.482 "
   3.483             :initarg :version :type (signed-byte 32))
   3.484@@ -1062,7 +985,7 @@
   3.485             (or null octet-vector)))
   3.486           (:documentation "Description for file metadata
   3.487 "))
   3.488-(defclass parquet-file-crypto-meta-data (dat/parquet:parquet-object)
   3.489+(defclass parquet-file-crypto-meta-data (parquet-object)
   3.490           ((encryption-algorithm :documentation
   3.491             "Encryption algorithm. This field is only used for files
   3.492 with encrypted footer. Files with plaintext footer store algorithm id