Skip to content

Writing custom queries #620

Open
Open
@hasufell

Description

@hasufell

I read these both pages:

  1. https://hackage.haskell.org/package/beam-core-0.9.2.0/docs/Database-Beam-Query-CustomSQL.html
  2. https://haskell-beam.github.io/beam/user-guide/extensibility/#custom-expressions

And have still no idea how to write a custom query. I followed the first page, which points to the non-existent page https://haskell-beam.github.io/beam/user-guide/extensibility/extensibility. Then I followed the second page and I end up getting errors:

    • No instance for (IsCustomSqlSyntax
                         (Database.Beam.Backend.SQL.SQL92.Sql92SelectTableExpressionSyntax
                            (Database.Beam.Backend.SQL.SQL92.Sql92SelectSelectTableSyntax
                               (Database.Beam.Backend.SQL.SQL92.Sql92SelectSyntax
                                  (Database.Beam.Backend.SQL.BeamSqlBackendSyntax ctxt)))))
        arising from a use of ‘customExpr_’
    • In the expression: customExpr_ myFuncImpl
      In an equation for ‘instr_’:
          instr_
            = customExpr_ myFuncImpl
            where
                myFuncImpl :: (Monoid a, IsString a) => a -> a -> a
                myFuncImpl str needle = "instr(" <> str <> ", " <> needle <> ")"

The page says:

Your backend's syntax must implement the IsSqlCustomExpressionSyntax type class.

I don't know what that means. How to implement this? Where's an example?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions