Documentation

TypeDB.Query

Running queries #

All functions run inside a transaction body and need [Allows m need]: the transaction's mode m must be at least the query's need.

UTC offsets of IANA zones need the zone's rules; they are loaded once per zone.

def TypeDB.Tx.answer {m need : TxMode} [m.Allows need] (q : Query need) :

The raw answer of a query. Prefer the decoding functions.

Equations
Instances For
    def TypeDB.Tx.foldRowsM {m need : TxMode} {α β : Type} [m.Allows need] (d : RowDecoder α) (q : Query need) (init : β) (f : β → α → Tx m (ForInStep β)) :
    Tx m β

    Folds f over the decoded rows, one native batch at a time. f returns none to stop.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def TypeDB.Tx.exec {m need : TxMode} [m.Allows need] (q : Query need) :

      Runs a query for its effect, draining any rows it answers.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def TypeDB.Tx.queryWith {m need : TxMode} {α : Type} [m.Allows need] (d : RowDecoder α) (q : Query need) :
        Tx m (Array α)

        Every row, decoded with d, in answer order.

        Equations
        Instances For
          def TypeDB.Tx.query {m need : TxMode} {α : Type} [m.Allows need] [FromRow α] (q : Query need) :
          Tx m (Array α)

          Every row, decoded with FromRow α, in answer order.

          Equations
          Instances For
            def TypeDB.Tx.query1? {m need : TxMode} {α : Type} [m.Allows need] [FromRow α] (q : Query need) :
            Tx m (Option α)

            The first row, if any.

            Equations
            Instances For
              def TypeDB.Tx.queryOne {m need : TxMode} {α : Type} [m.Allows need] [FromRow α] (q : Query need) :
              Tx m α

              The first row; fails if the answer is empty.

              Equations
              Instances For
                def TypeDB.Tx.queryFold {m need : TxMode} {α β : Type} [m.Allows need] [FromRow α] (q : Query need) (init : β) (f : β → α → β) :
                Tx m β

                Folds over the rows in constant memory.

                Equations
                Instances For
                  def TypeDB.Tx.queryFoldM {m need : TxMode} {α β : Type} [m.Allows need] [FromRow α] (q : Query need) (init : β) (f : β → α → Tx m β) :
                  Tx m β
                  Equations
                  Instances For
                    def TypeDB.Tx.queryPerValue {m need : TxMode} {α : Type} [m.Allows need] (d : RowDecoder α) (q : Query need) :
                    Tx m (Array α)

                    Rows decoded one native call per value (the unbatched path), for comparison with query.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def TypeDB.Tx.fetchJson {m need : TxMode} [m.Allows need] (q : Query need) :

                      The JSON documents of a fetch query.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def TypeDB.Tx.fetch {m need : TxMode} {α : Type} [m.Allows need] [Lean.FromJson α] (q : Query need) :
                        Tx m (Array α)

                        The documents of a fetch query, decoded with FromJson.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          structure TypeDB.Tx.RowStream (need : TxMode) (α : Type) :

                          A query whose rows are decoded lazily by a for loop inside the transaction.

                          Instances For
                            def TypeDB.Tx.stream {need : TxMode} {α : Type} [FromRow α] (q : Query need) :
                            RowStream need α
                            Equations
                            Instances For
                              def TypeDB.Tx.streamWith {need : TxMode} {α : Type} (d : RowDecoder α) (q : Query need) :
                              RowStream need α
                              Equations
                              Instances For
                                @[instance_reducible]
                                instance TypeDB.Tx.instForInRowStreamOfAllows {m need : TxMode} {α : Type} [m.Allows need] :
                                ForIn (Tx m) (RowStream need α) α
                                Equations
                                • One or more equations did not get rendered due to their size.