FTS4TableDefinition
public final class FTS4TableDefinition
The FTS4TableDefinition class lets you define columns of a FTS4 virtual table.
You don’t create instances of this class. Instead, you use the Database
create(virtualTable:using:)
method:
try db.create(virtualTable: "document", using: FTS4()) { t in // t is FTS4TableDefinition
t.column("content")
}
-
The virtual table tokenizer
try db.create(virtualTable: "document", using: FTS4()) { t in t.tokenizer = .porter }
See https://www.sqlite.org/fts3.html#creating_and_destroying_fts_tables
Declaration
Swift
public var tokenizer: FTS3TokenizerDescriptor?
-
The FTS4
content
optionWhen you want the full-text table to be synchronized with the content of an external table, prefer the
synchronize(withTable:)
method.Setting this property invalidates any synchronization previously established with the
synchronize(withTable:)
method.Declaration
Swift
public var content: String? { get set }
-
The FTS4
compress
optionSee https://www.sqlite.org/fts3.html#the_compress_and_uncompress_options
Declaration
Swift
public var compress: String?
-
The FTS4
uncompress
optionSee https://www.sqlite.org/fts3.html#the_compress_and_uncompress_options
Declaration
Swift
public var uncompress: String?
-
The FTS4
matchinfo
optionDeclaration
Swift
public var matchinfo: String?
-
Support for the FTS5
prefix
option// CREATE VIRTUAL TABLE document USING FTS4(content, prefix='2 4'); db.create(virtualTable: "document", using:FTS4()) { t in t.prefixes = [2, 4] t.column("content") }
Declaration
Swift
public var prefixes: Set<Int>?
-
Appends a table column.
try db.create(virtualTable: "document", using: FTS4()) { t in t.column("content") }
Declaration
Swift
@discardableResult public func column(_ name: String) -> FTS4ColumnDefinition
Parameters
name
the column name.
-
Synchronizes the full-text table with the content of an external table.
The full-text table is initially populated with the existing content in the external table. SQL triggers make sure that the full-text table is kept up to date with the external table.
Declaration
Swift
public func synchronize(withTable tableName: String)