+ (setf (aref *meta-meta* i) meta-meta)))))
+
+(defun meta-finalizer (parser)
+ (let ((meta-table (make-array 1 :fill-pointer 0 :adjustable t)))
+ (with-slots (entry-buffer name) parser
+ (loop for entry across entry-buffer
+ do (let ((meta (make-instance 'table-column-meta)))
+ (loop for slot across *meta-index*
+ for field in entry
+ do (setf (slot-value meta slot) field))
+ (vector-push-extend meta meta-table)))
+ (format t "~a~%~a~%~a~%" name meta-table entry-buffer)
+ (let ((table-index (if (string= "table" name)
+ ; voodoo: the first column of the table of tables is the uid
+ (elt (aref entry-buffer 0) 4)
+ (gethash name *index-by-name*))))
+ (setf (aref *meta-by-index* table-index) meta-table)))))
+
+(defun table-finalizer (parser)