tblLVST_GrammarContent

Table Description:

Contains the actual grammars used during recognition. The MD5 hash is used to uniquely identify grammars; when trying to determine if a grammar is already in the database, first, compute the MD5 hash on the suspect grammar (LumenVox uses crpytopp), and examine each the 16 bytes in groups of four, treating them as 4 long integers (C++ type). You can do rapid searching by examining each of the integers to determine if a suspect grammar matches something in the database. Consult the encoding to determine if you need to process the actual content, and the format to determine how to handle the resulting content.

Table structure:

Column Name Data Type Data Length Default Value See Also

GContentID

INTEGER

N/A

N/A

N/A

GContentMD5_1

INTEGER

N/A

N/A

sqlite_encode_binary
sqlite_decode_binary

GContentMD5_2

INTEGER

N/A

N/A

sqlite_encode_binary
sqlite_decode_binary

GContentMD5_3

INTEGER

N/A

N/A

sqlite_encode_binary
sqlite_decode_binary

GContentMD5_4

INTEGER

N/A

N/A

sqlite_encode_binary
sqlite_decode_binary

cGContentFormat

INTEGER

N/A

N/A

tblLVST_GrammarContent_cGContentFormat
sqlite_encode_binary
sqlite_decode_binary

cGContentEncoding

INTEGER

N/A

N/A

tblLVST_GrammarContent_
tblLVST_GrammarContent_cGContentEncoding

sqlite_encode_binary
sqlite_decode_binary

GContent

TEXT

N/A

N/A

sqlite_encode_binary
sqlite_decode_binary

Primary Keys:

GContentID

Foreign keys relationships:

Foreign key Reference table Reference key

GContentFormat

tblLVST_DBConstants

ContentValue

 
Foreign key Reference table Reference key

GContentEncoding

tblLVST_DBConstants

ContentValue

 

Column Descriptions and Constraints:

GContentID

Description:
Autoincrementing primary key.
Constraint Name:
N/A
Constraint Description:
N/A

GContentMD5_1

Description:
The first group of 4 bytes of the 128 bit (16 byte) MD5 hash on original grammar. The hash itself is stored by first computing the MD5 on the grammar, and then treating the hash as four 4-byte integers. The grammar is placed into the database along with the 4 groups of the hash, to quickly search for grammars, and to uniquely identify grammars. The four MD5 fields are only useful as a group.
Constraint Name:
N/A
Constraint Description:
N/A

GContentMD5_2

Description:
The second group of 4 bytes of 128 bit (16 byte) MD5 hash on original grammar. The hash itself is stored by first computing the MD5 on the grammar, and then treating the hash as four 4-byte integers. The grammar is placed into the database along with the 4 groups of the hash, to quickly search for grammars, and to uniquely identify grammars. The four MD5 fields are only useful as a group.
Constraint Name:
N/A
Constraint Description:
N/A

GContentMD5_3

Description:
The third group 4 bytes of 128 bit (16 byte) MD5 hash on original grammar. The hash itself is stored by first computing the MD5 on the grammar, and then treating the hash as four 4-byte integers. The grammar is placed into the database along with the 4 groups of the hash, to quickly search for grammars, and to uniquely identify grammars. The four MD5 fields are only useful as a group.
Constraint Name:
N/A
Constraint Description:
N/A

GContentMD5_4

Description:
The fourth group 4 bytes of 128 bit (16 byte) MD5 hash on original grammar. The hash itself is stored by first computing the MD5 on the grammar, and then treating the hash as four 4-byte integers. The grammar is placed into the database along with the 4 groups of the hash, to quickly search for grammars, and to uniquely identify grammars. The four MD5 fields are only useful as a group.
Constraint Name:
N/A
Constraint Description:
N/A

cGContentFormat

Description:
Details the grammar format of the grammar content. See tblLVST_GrammarContent_cGContentFormat.
Constraint Name:
MustExist
Constraint Description:
The value in cGContentFormat must exist in tblLVST_GrammarContent_cGContentFormat.

cGContentEncoding

Description:
Track the encoding of the grammar. Currently, it must be one of 'TEXT' or 'BINARY' in tblLVST_GrammarContent_GContentEncoding
Constraint Name:
MustExist
Constraint Description:
The value in cGContentEncoding must exsit in tblLVST_GrammarContent_cGContenEncoding.

GContent

Description:
The actual grammar being stored. For TEXT-encoded grammars, the grammar can be used directly; for BINARY-encoded grammars, you *must* use sqlite_decode_binary to retrieve the original binary grammar object.
Constraint Name:
Constraint Description:

 

Table Constraints:

Constraint Name:notduplicateMD5
Constraint Description:
no duplicate MD5 value is allowed
Columns related:
GContentMD5_1, GContentMD5_2, GContentMD5_3, GContentMD5_4