DatabaseValue
public struct DatabaseValue
DatabaseValue is the intermediate type between SQLite and your values.
-
The SQLite storage
Declaration
Swift
public let storage: Storage -
The NULL DatabaseValue.
Declaration
Swift
public static let null = DatabaseValue(storage: .null) -
An SQLite storage (NULL, INTEGER, REAL, TEXT, BLOB).
See moreDeclaration
Swift
public enum Storage : Equatable -
Creates a DatabaseValue from Any.
The result is nil unless object adopts DatabaseValueConvertible.
Declaration
Swift
public init?(value: Any)
-
Returns true if databaseValue is NULL.
Declaration
Swift
public var isNull: Bool
-
The hash value
Declaration
Swift
public var hashValue: Int -
Returns whether two DatabaseValues are equal.
1.databaseValue == "foo".databaseValue // false 1.databaseValue == 1.databaseValue // trueWhen comparing integers and doubles, the result is true if and only values are equal, and if converting one type to the other does not lose information:
1.databaseValue == 1.0.databaseValue // trueFor a comparison that distinguishes integer and doubles, compare storages instead:
1.databaseValue.storage == 1.0.databaseValue.storage // falseDeclaration
Swift
public static func == (lhs: DatabaseValue, rhs: DatabaseValue) -> Bool
-
Converts the database value to the type T.
let dbValue = "foo".databaseValue let string = dbValue.losslessConvert() as String // "foo"Conversion is successful if and only if T.fromDatabaseValue returns a non-nil value.
This method crashes with a fatal error when conversion fails.
let dbValue = "foo".databaseValue let int = dbValue.losslessConvert() as Int // fatalErrorDeclaration
Swift
public func losslessConvert<T>(sql: String? = nil, arguments: StatementArguments? = nil) -> T where T : DatabaseValueConvertibleParameters
sqlOptional SQL statement that enhances the eventual conversion error
argumentsOptional statement arguments that enhances the eventual conversion error
-
Converts the database value to the type Optional
. let dbValue = "foo".databaseValue let string = dbValue.losslessConvert() as String? // "foo" let null = DatabaseValue.null.losslessConvert() as String? // nilConversion is successful if and only if T.fromDatabaseValue returns a non-nil value.
This method crashes with a fatal error when conversion fails.
let dbValue = "foo".databaseValue let int = dbValue.losslessConvert() as Int? // fatalErrorDeclaration
Swift
public func losslessConvert<T>(sql: String? = nil, arguments: StatementArguments? = nil) -> T? where T : DatabaseValueConvertibleParameters
sqlOptional SQL statement that enhances the eventual conversion error
argumentsOptional statement arguments that enhances the eventual conversion error
-
Returns self
Declaration
Swift
public var databaseValue: DatabaseValue -
Returns the database value
Declaration
Swift
public static func fromDatabaseValue(_ dbValue: DatabaseValue) -> DatabaseValue?
-
Declaration
Swift
public var sqlExpression: SQLExpression
-
Declaration
Swift
public func expressionSQL(_ arguments: inout StatementArguments?) -> String -
Declaration
Swift
public var negated: SQLExpression
-
Declaration
Swift
public var description: String
View on GitHub
Install in Dash
DatabaseValue Structure Reference