Coverage report: /development/source/library/org/datagraph/spocq-shard/src/algebra/matrix-operators/bindings.lisp

KindCoveredAll%
expression037 0.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;; -*- Mode: lisp; Syntax: ansi-common-lisp; Base: 10; Package: org.datagraph.spocq.implementation; -*-
2
 
3
 (in-package :org.datagraph.spocq.implementation)
4
 
5
 (:documentation "This file defines the BINDINGS matrix operator for the 'org.datagraph.spocq' RDF engine."
6
 
7
  (copyright
8
   "Copyright 2013 [james anderson](mailto:james.anderson@setf.de) All Rights Reserved."))
9
 
10
 
11
 (defmethod spocq.e::repository-bindings ((repository rdfcache-matrix-repository) solutions dimensions)
12
   (initialize-result-field (make-matrix-field :dimensions dimensions :sort-dimensions nil
13
                                               :width (length dimensions))
14
                            :data solutions))
15
 
16
 
17
 (defmethod process-bindings ((result-field matrix-page-channel)
18
                              (solutions list)
19
                              (dimensions list))
20
   (let ((page (new-field-page result-field (field-page-length result-field) (field-width result-field)))
21
         (length (length solutions)))
22
     (set-solution-field-solutions page solutions)
23
     (put-field-page result-field page)
24
     (assert (equal (channel-dimensions result-field) dimensions) ()
25
             "incompatible dimensions: ~s ~s" result-field dimensions)
26
     (complete-field result-field)
27
     (incf-stat *solutions-constructed* length)
28
     length))