Safe Haskell | None |
---|---|
Language | Haskell2010 |
Database.Beam.Sqlite.Syntax
Description
SQLite implementations of the Beam SQL syntax classes
The SQLite command syntax is implemented by SQLiteCommandSyntax
.
Synopsis
- data SqliteSyntax = SqliteSyntax ((SQLData -> Builder) -> Builder) (DList SQLData)
- data SqliteCommandSyntax
- newtype SqliteSelectSyntax = SqliteSelectSyntax {}
- data SqliteInsertSyntax = SqliteInsertSyntax {}
- newtype SqliteUpdateSyntax = SqliteUpdateSyntax {}
- newtype SqliteDeleteSyntax = SqliteDeleteSyntax {}
- newtype SqliteOnConflictSyntax = SqliteOnConflictSyntax {}
- data SqliteInsertValuesSyntax
- data SqliteColumnSchemaSyntax = SqliteColumnSchemaSyntax {}
- data SqliteExpressionSyntax
- newtype SqliteValueSyntax = SqliteValueSyntax {}
- newtype SqliteTableNameSyntax = SqliteTableNameSyntax {}
- newtype SqliteFieldNameSyntax = SqliteFieldNameSyntax {}
- newtype SqliteAggregationSetQuantifierSyntax = SqliteAggregationSetQuantifierSyntax {}
- fromSqliteExpression :: SqliteExpressionSyntax -> SqliteSyntax
- data SqliteDataTypeSyntax = SqliteDataTypeSyntax {}
- sqliteTextType :: SqliteDataTypeSyntax
- sqliteBlobType :: SqliteDataTypeSyntax
- sqliteBigIntType :: SqliteDataTypeSyntax
- sqliteSerialType :: SqliteDataTypeSyntax
- fromSqliteCommand :: SqliteCommandSyntax -> SqliteSyntax
- formatSqliteInsert :: SqliteTableNameSyntax -> [Text] -> SqliteInsertValuesSyntax -> SqliteSyntax
- formatSqliteInsertOnConflict :: SqliteTableNameSyntax -> [Text] -> SqliteInsertValuesSyntax -> Maybe SqliteOnConflictSyntax -> SqliteSyntax
- emit :: ByteString -> SqliteSyntax
- emitValue :: SQLData -> SqliteSyntax
- parens :: SqliteSyntax -> SqliteSyntax
- commas :: [SqliteSyntax] -> SqliteSyntax
- quotedIdentifier :: Text -> SqliteSyntax
- sqliteEscape :: Text -> Text
- withPlaceholders :: ((SQLData -> Builder) -> Builder) -> Builder
- sqliteRenderSyntaxScript :: SqliteSyntax -> ByteString
SQLite syntaxes
data SqliteSyntax Source #
The syntax for SQLite is stored as a Builder
along with a list of data
that hasn't been serialized yet.
The first argument is a function that receives a builder for SQLData
and
returns the concrete syntax to embed into the query. For queries sent to the
backend, this is simply a function that returns "?"
. Thus, the syntax sent
to the backend includes proper placeholders. The list of data is sent to the
SQLite library for proper escaping.
When the syntax is being serialized for display (for use in beam migrate for example), the data builder attempts to properly format and escape the data. This returns syntax suitable for inclusion in scripts. In this case, the value list is ignored.
Instances
Monoid SqliteSyntax Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods mempty :: SqliteSyntax # mappend :: SqliteSyntax -> SqliteSyntax -> SqliteSyntax # mconcat :: [SqliteSyntax] -> SqliteSyntax # | |
Semigroup SqliteSyntax Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods (<>) :: SqliteSyntax -> SqliteSyntax -> SqliteSyntax # sconcat :: NonEmpty SqliteSyntax -> SqliteSyntax # stimes :: Integral b => b -> SqliteSyntax -> SqliteSyntax # | |
Show SqliteSyntax Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods showsPrec :: Int -> SqliteSyntax -> ShowS # show :: SqliteSyntax -> String # showList :: [SqliteSyntax] -> ShowS # | |
Sql92DisplaySyntax SqliteSyntax Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods displaySyntax :: SqliteSyntax -> String # | |
Eq SqliteSyntax Source # | |
Defined in Database.Beam.Sqlite.Syntax | |
Hashable SqliteSyntax Source # | |
Defined in Database.Beam.Sqlite.Syntax |
data SqliteCommandSyntax Source #
A SQLite command. INSERT
is special cased to handle AUTO INCREMENT
columns. The fromSqliteCommand
function will take an SqliteCommandSyntax
and convert it into the correct SqliteSyntax
.
Instances
newtype SqliteSelectSyntax Source #
SQLite SELECT
syntax
Constructors
SqliteSelectSyntax | |
Fields |
Instances
IsSql92SelectSyntax SqliteSelectSyntax Source # | |||||||||
Defined in Database.Beam.Sqlite.Syntax Associated Types
| |||||||||
type Sql92SelectOrderingSyntax SqliteSelectSyntax Source # | |||||||||
Defined in Database.Beam.Sqlite.Syntax | |||||||||
type Sql92SelectSelectTableSyntax SqliteSelectSyntax Source # | |||||||||
data SqliteInsertSyntax Source #
SQLite INSERT
syntax. This doesn't directly wrap SqliteSyntax
because
we need to do some processing on INSERT
statements to deal with AUTO
INCREMENT
columns. Use formatSqliteInsert
to turn SqliteInsertSyntax
into SqliteSyntax
.
Constructors
SqliteInsertSyntax | |
Instances
IsSql92InsertSyntax SqliteInsertSyntax Source # | |||||||||
Defined in Database.Beam.Sqlite.Syntax Associated Types
| |||||||||
type Sql92InsertTableNameSyntax SqliteInsertSyntax Source # | |||||||||
type Sql92InsertValuesSyntax SqliteInsertSyntax Source # | |||||||||
newtype SqliteUpdateSyntax Source #
SQLite UPDATE
syntax
Constructors
SqliteUpdateSyntax | |
Fields |
Instances
IsSql92UpdateSyntax SqliteUpdateSyntax Source # | |||||||||||||
Defined in Database.Beam.Sqlite.Syntax Associated Types
| |||||||||||||
type Sql92UpdateExpressionSyntax SqliteUpdateSyntax Source # | |||||||||||||
type Sql92UpdateFieldNameSyntax SqliteUpdateSyntax Source # | |||||||||||||
type Sql92UpdateTableNameSyntax SqliteUpdateSyntax Source # | |||||||||||||
newtype SqliteDeleteSyntax Source #
SQLite DELETE
syntax
Constructors
SqliteDeleteSyntax | |
Fields |
Instances
IsSql92DeleteSyntax SqliteDeleteSyntax Source # | |||||||||
Defined in Database.Beam.Sqlite.Syntax Associated Types
| |||||||||
type Sql92DeleteExpressionSyntax SqliteDeleteSyntax Source # | |||||||||
type Sql92DeleteTableNameSyntax SqliteDeleteSyntax Source # | |||||||||
newtype SqliteOnConflictSyntax Source #
SQLite ON CONFLICT
syntax
Constructors
SqliteOnConflictSyntax | |
Fields |
data SqliteInsertValuesSyntax Source #
SQLite VALUES
clause in INSERT
. Expressions need to be handled
explicitly in order to deal with DEFAULT
values and AUTO INCREMENT
columns.
Constructors
SqliteInsertExpressions [[SqliteExpressionSyntax]] | |
SqliteInsertFromSql SqliteSelectSyntax |
Instances
IsSql92InsertValuesSyntax SqliteInsertValuesSyntax Source # | |||||||||
Defined in Database.Beam.Sqlite.Syntax Associated Types
| |||||||||
type Sql92InsertValuesExpressionSyntax SqliteInsertValuesSyntax Source # | |||||||||
type Sql92InsertValuesSelectSyntax SqliteInsertValuesSyntax Source # | |||||||||
data SqliteColumnSchemaSyntax Source #
SQLite syntax for column schemas in CREATE TABLE
or ALTER COLUMN ... ADD
COLUMN
statements
Constructors
SqliteColumnSchemaSyntax | |
Fields |
Instances
Generic SqliteColumnSchemaSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax Associated Types
Methods from :: SqliteColumnSchemaSyntax -> Rep SqliteColumnSchemaSyntax x # to :: Rep SqliteColumnSchemaSyntax x -> SqliteColumnSchemaSyntax # | |||||
Show SqliteColumnSchemaSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax Methods showsPrec :: Int -> SqliteColumnSchemaSyntax -> ShowS # show :: SqliteColumnSchemaSyntax -> String # showList :: [SqliteColumnSchemaSyntax] -> ShowS # | |||||
Sql92DisplaySyntax SqliteColumnSchemaSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax Methods | |||||
IsSql92ColumnSchemaSyntax SqliteColumnSchemaSyntax Source # | |||||
Eq SqliteColumnSchemaSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax Methods (==) :: SqliteColumnSchemaSyntax -> SqliteColumnSchemaSyntax -> Bool # (/=) :: SqliteColumnSchemaSyntax -> SqliteColumnSchemaSyntax -> Bool # | |||||
Hashable SqliteColumnSchemaSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax Methods hashWithSalt :: Int -> SqliteColumnSchemaSyntax -> Int # hash :: SqliteColumnSchemaSyntax -> Int # | |||||
type Rep SqliteColumnSchemaSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax type Rep SqliteColumnSchemaSyntax = D1 ('MetaData "SqliteColumnSchemaSyntax" "Database.Beam.Sqlite.Syntax" "beam-sqlite-0.5.4.0-22CTwXWT63884bnV7STsAn" 'False) (C1 ('MetaCons "SqliteColumnSchemaSyntax" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromSqliteColumnSchema") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SqliteSyntax) :*: S1 ('MetaSel ('Just "sqliteIsSerialColumn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) | |||||
type Sql92ColumnSchemaColumnConstraintDefinitionSyntax SqliteColumnSchemaSyntax Source # | |||||
type Sql92ColumnSchemaColumnTypeSyntax SqliteColumnSchemaSyntax Source # | |||||
type Sql92ColumnSchemaExpressionSyntax SqliteColumnSchemaSyntax Source # | |||||
data SqliteExpressionSyntax Source #
Implements beam SQL expression syntaxes
Instances
Generic SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
Defined in Database.Beam.Sqlite.Syntax Associated Types
Methods from :: SqliteExpressionSyntax -> Rep SqliteExpressionSyntax x # to :: Rep SqliteExpressionSyntax x -> SqliteExpressionSyntax # | |||||||||||||||||||||||||
Show SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
Defined in Database.Beam.Sqlite.Syntax Methods showsPrec :: Int -> SqliteExpressionSyntax -> ShowS # show :: SqliteExpressionSyntax -> String # showList :: [SqliteExpressionSyntax] -> ShowS # | |||||||||||||||||||||||||
IsSql92AggregationExpressionSyntax SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
Defined in Database.Beam.Sqlite.Syntax Associated Types
Methods countAllE :: SqliteExpressionSyntax # countE :: Maybe (Sql92AggregationSetQuantifierSyntax SqliteExpressionSyntax) -> SqliteExpressionSyntax -> SqliteExpressionSyntax # avgE :: Maybe (Sql92AggregationSetQuantifierSyntax SqliteExpressionSyntax) -> SqliteExpressionSyntax -> SqliteExpressionSyntax # maxE :: Maybe (Sql92AggregationSetQuantifierSyntax SqliteExpressionSyntax) -> SqliteExpressionSyntax -> SqliteExpressionSyntax # minE :: Maybe (Sql92AggregationSetQuantifierSyntax SqliteExpressionSyntax) -> SqliteExpressionSyntax -> SqliteExpressionSyntax # sumE :: Maybe (Sql92AggregationSetQuantifierSyntax SqliteExpressionSyntax) -> SqliteExpressionSyntax -> SqliteExpressionSyntax # | |||||||||||||||||||||||||
IsSql92ExpressionSyntax SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
Defined in Database.Beam.Sqlite.Syntax Associated Types
Methods valueE :: Sql92ExpressionValueSyntax SqliteExpressionSyntax -> SqliteExpressionSyntax # rowE :: [SqliteExpressionSyntax] -> SqliteExpressionSyntax # quantifierListE :: [SqliteExpressionSyntax] -> SqliteExpressionSyntax # coalesceE :: [SqliteExpressionSyntax] -> SqliteExpressionSyntax # caseE :: [(SqliteExpressionSyntax, SqliteExpressionSyntax)] -> SqliteExpressionSyntax -> SqliteExpressionSyntax # fieldE :: Sql92ExpressionFieldNameSyntax SqliteExpressionSyntax -> SqliteExpressionSyntax # betweenE :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # andE :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # orE :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # addE :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # subE :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # mulE :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # divE :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # likeE :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # modE :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # overlapsE :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # nullIfE :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # positionE :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # eqE :: Maybe (Sql92ExpressionQuantifierSyntax SqliteExpressionSyntax) -> SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # neqE :: Maybe (Sql92ExpressionQuantifierSyntax SqliteExpressionSyntax) -> SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # ltE :: Maybe (Sql92ExpressionQuantifierSyntax SqliteExpressionSyntax) -> SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # gtE :: Maybe (Sql92ExpressionQuantifierSyntax SqliteExpressionSyntax) -> SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # leE :: Maybe (Sql92ExpressionQuantifierSyntax SqliteExpressionSyntax) -> SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # geE :: Maybe (Sql92ExpressionQuantifierSyntax SqliteExpressionSyntax) -> SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # eqMaybeE :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # neqMaybeE :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # castE :: SqliteExpressionSyntax -> Sql92ExpressionCastTargetSyntax SqliteExpressionSyntax -> SqliteExpressionSyntax # notE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # negateE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # isNullE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # isNotNullE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # isTrueE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # isNotTrueE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # isFalseE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # isNotFalseE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # isUnknownE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # isNotUnknownE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # charLengthE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # octetLengthE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # bitLengthE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # lowerE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # upperE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # trimE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # absE :: SqliteExpressionSyntax -> SqliteExpressionSyntax # extractE :: Sql92ExpressionExtractFieldSyntax SqliteExpressionSyntax -> SqliteExpressionSyntax -> SqliteExpressionSyntax # existsE :: Sql92ExpressionSelectSyntax SqliteExpressionSyntax -> SqliteExpressionSyntax # uniqueE :: Sql92ExpressionSelectSyntax SqliteExpressionSyntax -> SqliteExpressionSyntax # subqueryE :: Sql92ExpressionSelectSyntax SqliteExpressionSyntax -> SqliteExpressionSyntax # currentTimestampE :: SqliteExpressionSyntax # defaultE :: SqliteExpressionSyntax # inE :: SqliteExpressionSyntax -> [SqliteExpressionSyntax] -> SqliteExpressionSyntax # inSelectE :: SqliteExpressionSyntax -> Sql92ExpressionSelectSyntax SqliteExpressionSyntax -> SqliteExpressionSyntax # | |||||||||||||||||||||||||
IsSql99ConcatExpressionSyntax SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
Defined in Database.Beam.Sqlite.Syntax Methods concatE :: [SqliteExpressionSyntax] -> SqliteExpressionSyntax # | |||||||||||||||||||||||||
IsSql99FunctionExpressionSyntax SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
Defined in Database.Beam.Sqlite.Syntax Methods functionCallE :: SqliteExpressionSyntax -> [SqliteExpressionSyntax] -> SqliteExpressionSyntax # | |||||||||||||||||||||||||
IsCustomSqlSyntax SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
Defined in Database.Beam.Sqlite.Syntax Associated Types
| |||||||||||||||||||||||||
Eq SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
Defined in Database.Beam.Sqlite.Syntax Methods (==) :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> Bool # (/=) :: SqliteExpressionSyntax -> SqliteExpressionSyntax -> Bool # | |||||||||||||||||||||||||
Hashable SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
Defined in Database.Beam.Sqlite.Syntax Methods hashWithSalt :: Int -> SqliteExpressionSyntax -> Int # hash :: SqliteExpressionSyntax -> Int # | |||||||||||||||||||||||||
IsString (CustomSqlSyntax SqliteExpressionSyntax) Source # | |||||||||||||||||||||||||
Defined in Database.Beam.Sqlite.Syntax Methods fromString :: String -> CustomSqlSyntax SqliteExpressionSyntax # | |||||||||||||||||||||||||
Monoid (CustomSqlSyntax SqliteExpressionSyntax) Source # | |||||||||||||||||||||||||
Defined in Database.Beam.Sqlite.Syntax | |||||||||||||||||||||||||
Semigroup (CustomSqlSyntax SqliteExpressionSyntax) Source # | |||||||||||||||||||||||||
Defined in Database.Beam.Sqlite.Syntax Methods (<>) :: CustomSqlSyntax SqliteExpressionSyntax -> CustomSqlSyntax SqliteExpressionSyntax -> CustomSqlSyntax SqliteExpressionSyntax # sconcat :: NonEmpty (CustomSqlSyntax SqliteExpressionSyntax) -> CustomSqlSyntax SqliteExpressionSyntax # stimes :: Integral b => b -> CustomSqlSyntax SqliteExpressionSyntax -> CustomSqlSyntax SqliteExpressionSyntax # | |||||||||||||||||||||||||
type Rep SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
Defined in Database.Beam.Sqlite.Syntax type Rep SqliteExpressionSyntax = D1 ('MetaData "SqliteExpressionSyntax" "Database.Beam.Sqlite.Syntax" "beam-sqlite-0.5.4.0-22CTwXWT63884bnV7STsAn" 'False) (C1 ('MetaCons "SqliteExpressionSyntax" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SqliteSyntax)) :+: C1 ('MetaCons "SqliteExpressionDefault" 'PrefixI 'False) (U1 :: Type -> Type)) | |||||||||||||||||||||||||
type Sql92AggregationSetQuantifierSyntax SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
type Sql92ExpressionCastTargetSyntax SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
type Sql92ExpressionExtractFieldSyntax SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
type Sql92ExpressionFieldNameSyntax SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
type Sql92ExpressionQuantifierSyntax SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
type Sql92ExpressionSelectSyntax SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
type Sql92ExpressionValueSyntax SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
newtype CustomSqlSyntax SqliteExpressionSyntax Source # | |||||||||||||||||||||||||
newtype SqliteValueSyntax Source #
SQLite syntax for values that can be embedded in SqliteSyntax
Constructors
SqliteValueSyntax | |
Fields |
Instances
HasSqlValueSyntax SqliteValueSyntax Int16 Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods | |
HasSqlValueSyntax SqliteValueSyntax Int32 Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods | |
HasSqlValueSyntax SqliteValueSyntax Int64 Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods | |
HasSqlValueSyntax SqliteValueSyntax Int8 Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods sqlValueSyntax :: Int8 -> SqliteValueSyntax # | |
HasSqlValueSyntax SqliteValueSyntax Word16 Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods | |
HasSqlValueSyntax SqliteValueSyntax Word32 Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods | |
HasSqlValueSyntax SqliteValueSyntax Word64 Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods | |
HasSqlValueSyntax SqliteValueSyntax Word8 Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods | |
HasSqlValueSyntax SqliteValueSyntax SqlNull Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods | |
HasSqlValueSyntax SqliteValueSyntax ByteString Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods | |
HasSqlValueSyntax SqliteValueSyntax Scientific Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods | |
HasSqlValueSyntax SqliteValueSyntax Text Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods sqlValueSyntax :: Text -> SqliteValueSyntax # | |
HasSqlValueSyntax SqliteValueSyntax Text Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods sqlValueSyntax :: Text -> SqliteValueSyntax # | |
HasSqlValueSyntax SqliteValueSyntax Day Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods sqlValueSyntax :: Day -> SqliteValueSyntax # | |
HasSqlValueSyntax SqliteValueSyntax UTCTime Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods | |
HasSqlValueSyntax SqliteValueSyntax LocalTime Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods | |
HasSqlValueSyntax SqliteValueSyntax String Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods | |
HasSqlValueSyntax SqliteValueSyntax Bool Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods sqlValueSyntax :: Bool -> SqliteValueSyntax # | |
HasSqlValueSyntax SqliteValueSyntax Double Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods | |
HasSqlValueSyntax SqliteValueSyntax Float Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods | |
(TypeError (PreferExplicitSize Int Int32) :: Constraint) => HasSqlValueSyntax SqliteValueSyntax Int Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods sqlValueSyntax :: Int -> SqliteValueSyntax # | |
(TypeError (PreferExplicitSize Word Word32) :: Constraint) => HasSqlValueSyntax SqliteValueSyntax Word Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods sqlValueSyntax :: Word -> SqliteValueSyntax # | |
HasSqlValueSyntax SqliteValueSyntax x => HasSqlValueSyntax SqliteValueSyntax (Maybe x) Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods sqlValueSyntax :: Maybe x -> SqliteValueSyntax # |
newtype SqliteTableNameSyntax Source #
Constructors
SqliteTableNameSyntax | |
Fields |
Instances
newtype SqliteFieldNameSyntax Source #
Constructors
SqliteFieldNameSyntax | |
Fields |
Instances
IsSql92FieldNameSyntax SqliteFieldNameSyntax Source # | |
Defined in Database.Beam.Sqlite.Syntax Methods qualifiedField :: Text -> Text -> SqliteFieldNameSyntax # |
newtype SqliteAggregationSetQuantifierSyntax Source #
Constructors
SqliteAggregationSetQuantifierSyntax | |
SQLite data type syntax
data SqliteDataTypeSyntax Source #
SQLite syntax that implements IsSql92DataTypeSyntax
and a good portion of
IsSql99DataTypeSyntax
, except for array and row types.
Constructors
SqliteDataTypeSyntax | |
Instances
Generic SqliteDataTypeSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax Associated Types
Methods from :: SqliteDataTypeSyntax -> Rep SqliteDataTypeSyntax x # to :: Rep SqliteDataTypeSyntax x -> SqliteDataTypeSyntax # | |||||
Show SqliteDataTypeSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax Methods showsPrec :: Int -> SqliteDataTypeSyntax -> ShowS # show :: SqliteDataTypeSyntax -> String # showList :: [SqliteDataTypeSyntax] -> ShowS # | |||||
IsSql2008BigIntDataTypeSyntax SqliteDataTypeSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax Methods | |||||
IsSql92DataTypeSyntax SqliteDataTypeSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax Methods domainType :: Text -> SqliteDataTypeSyntax # charType :: Maybe Word -> Maybe Text -> SqliteDataTypeSyntax # varCharType :: Maybe Word -> Maybe Text -> SqliteDataTypeSyntax # nationalCharType :: Maybe Word -> SqliteDataTypeSyntax # nationalVarCharType :: Maybe Word -> SqliteDataTypeSyntax # bitType :: Maybe Word -> SqliteDataTypeSyntax # varBitType :: Maybe Word -> SqliteDataTypeSyntax # numericType :: Maybe (Word, Maybe Word) -> SqliteDataTypeSyntax # decimalType :: Maybe (Word, Maybe Word) -> SqliteDataTypeSyntax # intType :: SqliteDataTypeSyntax # smallIntType :: SqliteDataTypeSyntax # floatType :: Maybe Word -> SqliteDataTypeSyntax # doubleType :: SqliteDataTypeSyntax # realType :: SqliteDataTypeSyntax # dateType :: SqliteDataTypeSyntax # timeType :: Maybe Word -> Bool -> SqliteDataTypeSyntax # timestampType :: Maybe Word -> Bool -> SqliteDataTypeSyntax # | |||||
Sql92DisplaySyntax SqliteDataTypeSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax Methods | |||||
IsSql99DataTypeSyntax SqliteDataTypeSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax | |||||
HasDataTypeCreatedCheck SqliteDataTypeSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax Methods dataTypeHasBeenCreated :: SqliteDataTypeSyntax -> (forall preCondition. Typeable preCondition => [preCondition]) -> Bool # | |||||
Sql92SerializableDataTypeSyntax SqliteDataTypeSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax Methods | |||||
Eq SqliteDataTypeSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax Methods (==) :: SqliteDataTypeSyntax -> SqliteDataTypeSyntax -> Bool # (/=) :: SqliteDataTypeSyntax -> SqliteDataTypeSyntax -> Bool # | |||||
Hashable SqliteDataTypeSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax | |||||
type Rep SqliteDataTypeSyntax Source # | |||||
Defined in Database.Beam.Sqlite.Syntax type Rep SqliteDataTypeSyntax = D1 ('MetaData "SqliteDataTypeSyntax" "Database.Beam.Sqlite.Syntax" "beam-sqlite-0.5.4.0-22CTwXWT63884bnV7STsAn" 'False) (C1 ('MetaCons "SqliteDataTypeSyntax" 'PrefixI 'True) ((S1 ('MetaSel ('Just "fromSqliteDataType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SqliteSyntax) :*: S1 ('MetaSel ('Just "sqliteDataTypeToHs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 HsDataType)) :*: (S1 ('MetaSel ('Just "sqliteDataTypeSerialized") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BeamSerializedDataType) :*: S1 ('MetaSel ('Just "sqliteDataTypeSerial") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) |
Building and consuming SqliteSyntax
fromSqliteCommand :: SqliteCommandSyntax -> SqliteSyntax Source #
Convert a SqliteCommandSyntax
into a renderable SqliteSyntax
formatSqliteInsert :: SqliteTableNameSyntax -> [Text] -> SqliteInsertValuesSyntax -> SqliteSyntax Source #
Format a SQLite INSERT
expression for the given table name, fields, and values.
formatSqliteInsertOnConflict :: SqliteTableNameSyntax -> [Text] -> SqliteInsertValuesSyntax -> Maybe SqliteOnConflictSyntax -> SqliteSyntax Source #
Format a SQLite INSERT
expression for the given table name, fields,
values, and optionally an ON CONFLICT
clause.
emit :: ByteString -> SqliteSyntax Source #
Embed a ByteString
directly in the syntax
emitValue :: SQLData -> SqliteSyntax Source #
Emit a properly escaped value into the syntax
This causes a literal ?
3
parens :: SqliteSyntax -> SqliteSyntax Source #
commas :: [SqliteSyntax] -> SqliteSyntax Source #
quotedIdentifier :: Text -> SqliteSyntax Source #
sqliteEscape :: Text -> Text Source #
A best effort attempt to implement the escaping rules of SQLite. This is never used to escape data sent to the database; only for emitting scripts or displaying syntax to the user.
withPlaceholders :: ((SQLData -> Builder) -> Builder) -> Builder Source #
Convert the first argument of SQLiteSyntax
to a ByteString
Builder
,
where all the data has been replaced by "?"
placeholders.
sqliteRenderSyntaxScript :: SqliteSyntax -> ByteString Source #
Render a SqliteSyntax
as a lazy ByteString
, for purposes of
displaying to a user. Embedded SQLData
is directly embedded into the
concrete syntax, with a best effort made to escape strings.