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

KindCoveredAll%
expression035 0.0
branch02 0.0
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 matrix unit TABLE operator for the 'org.datagraph.spocq' RDF SPARQL engine."
6
 
7
  (copyright
8
   "Copyright 2013 [james anderson](mailto:james.anderson@setf.de) All Rights Reserved."))
9
 
10
 (defmethod spocq.e:ask ((source-field matrix-field))
11
    (incf-stat *algebra-operations*)
12
    (let* ((%data (rdfcache:make-matrix 1 1))
13
           (result-field (clone-matrix-field source-field :data %data :dimensions *ask-dimensions*)))
14
      (matrix-ask result-field source-field)
15
      result-field))
16
 
17
 
18
 (defmethod process-ask ((result-field matrix-page-channel)
19
                         (source-field matrix-page-channel))
20
   (matrix-ask result-field source-field))
21
 
22
 (defun matrix-ask (result-field source-field)
23
   (let ((%result-data (cffi::null-pointer))
24
         (result-row 0))
25
     (declare (foreign-type (foreign-array #.+matrix-element-type+ (* 1)) %result-data)
26
              (type sb-sys:system-area-pointer %result-data)
27
              (type fixnum result-row )
28
              )
29
     (unless (cffi:null-pointer-p (next-field-row source-field))
30
       (setf (values %result-data result-row) (new-field-row result-field))
31
       (setf (foreign-array-named-object-ref ?:|boolean| %result-data 0 0) |urn:dydra|:|true|))
32
     (complete-field-input source-field)
33
     (complete-field-output result-field)))
34
   
35
   
36