{-# LANGUAGE OverloadedStrings #-} module Database.Mbtiles.Query where import Data.Monoid import Data.Text (Text) import Database.SQLite.Simple getTileQuery :: Query getTileQuery = " select tile_data from tiles \ \ where zoom_level = :zoom \ \ and tile_column = :col \ \ and tile_row = :row" updateTileQuery :: Query updateTileQuery = " update tiles \ \ set tile_data = ? \ \ where zoom_level = ? \ \ and tile_column = ? \ \ and tile_row = ?" newTileQuery :: Query newTileQuery = " insert into tiles \ \ (zoom_level, tile_column, tile_row, tile_data) \ \ values (?, ?, ?, ?) " tableExistsQuery :: Query tableExistsQuery = " select count(name) from sqlite_master \ \ where type='table' AND name=?" tableInfoQuery :: Text -> Query tableInfoQuery t = "PRAGMA table_info(" <> Query t <> ")" getMetadataQuery :: Query getMetadataQuery = "select name, value from metadata"