Documentation

Hale.PostgREST.PostgREST.SchemaCache.Routine

PostgreSQL function volatility classification. Determines cacheability and side effects.

Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[implicit_reducible]
      Equations
      • One or more equations did not get rendered due to their size.

      Transaction isolation level for a routine.

      Instances For
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[implicit_reducible]
          Equations
          • One or more equations did not get rendered due to their size.

          Parameter mode for a routine parameter.

          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              A single parameter of a PostgreSQL function.

              • ppName : String

                Parameter name (empty for unnamed positional parameters).

              • ppType : String

                PostgreSQL type name.

              • ppRequired : Bool

                Whether this parameter is required (has no default).

              • ppMode : ParamMode

                Parameter mode.

              Instances For
                Equations
                Instances For
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    Return type of a PostgreSQL function.

                    Instances For
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        Does this return type produce multiple rows?

                        Equations
                        Instances For

                          A PostgreSQL function or procedure. $$\text{Routine} = \{ \text{schema}, \text{name}, \text{params}, \text{returnType}, \text{volatility} \}$$

                          Instances For
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              Get the qualified identifier for a routine.

                              Equations
                              Instances For

                                Whether this routine can be called with a GET request (only immutable/stable functions).

                                Equations
                                Instances For
                                  @[implicit_reducible]
                                  Equations
                                  • One or more equations did not get rendered due to their size.

                                  isSafeForGet is true if and only if the volatility is not .volatile. $$\text{isSafeForGet}(r) = \text{true} \iff r.\text{funcVolatility} \neq \text{volatile}$$ This witnesses that only immutable and stable functions are safe for GET.