| 593 |
|
Query.SQL.Text := 'CREATE INDEX idtargetid ON linkmap (target_id);'; |
| 594 |
|
Query.ExecSQL; |
| 595 |
|
Query.SQL.Text := |
| 596 |
< |
'CREATE TABLE rawmap ( id AUTOINC PRIMARY KEY, src_id INTEGER, ' + |
| 597 |
< |
'src_link_offset INTEGER, sep BOOLEAN, size INTEGER, ' + |
| 596 |
> |
'CREATE TABLE rawmap ( id AUTOINC PRIMARY KEY, name STRING(32), src_id INTEGER, ' + |
| 597 |
> |
'src_link_offset INTEGER, sep BOOLEAN, type STRING(8), size INTEGER, ' + |
| 598 |
|
'data BLOB BlobCompressionMode 9 BlobBlockSize 1024 BlobCompressionAlgorithm ZLib);'; |
| 599 |
|
// Query.SQL.Text:='CREATE TABLE rawmap ( id AUTOINC PRIMARY KEY, src_id INTEGER, src_link_offset INTEGER, size INTEGER, data BLOB BlobCompressionAlgorithm None );'; |
| 600 |
|
Query.ExecSQL; |
| 601 |
|
Query.SQL.Text := 'CREATE INDEX idsrcid ON rawmap (src_id);'; |
| 602 |
|
Query.ExecSQL; |
| 603 |
+ |
Query.SQL.Text := 'CREATE INDEX idtype ON rawmap (type);'; |
| 604 |
+ |
Query.ExecSQL; |
| 605 |
|
Query.SQL.Text := |
| 606 |
|
'CREATE TABLE datfiles ( id INTEGER PRIMARY KEY, extension CHAR(4), ' + |
| 607 |
|
'name STRING(128), contenttype INTEGER, size INTEGER, ' + |
| 668 |
|
Connection.LoadRawFile(FileID, RawLinks[i].SrcOffset, tempdata); |
| 669 |
|
mimecoder := TStringFormat_MIME64.Create; |
| 670 |
|
Query.SQL.Text := |
| 671 |
< |
'INSERT INTO rawmap (src_id,src_link_offset,sep,size,data) VALUES (' + |
| 671 |
> |
'INSERT INTO rawmap (name,src_id,src_link_offset,sep,type,size,data) VALUES (' + |
| 672 |
> |
'"' + RawLinks[i].Name + '", ' + |
| 673 |
|
IntToStr(FileID) + ', ' + IntToStr(RawLinks[i].SrcOffset) + ',' + |
| 674 |
|
BoolToStr(RawLinks[i].LocSep) + ', ' + |
| 675 |
+ |
'"' + RawLinks[i].RawType + '", ' + |
| 676 |
|
IntToStr(RawLinks[i].RawSize) + ', ' + |
| 677 |
|
'MimeToBin("' + MimeCoder.StrTo(@tempdata[0], RawLinks[i].RawSize) + '") );'; |
| 678 |
|
Query.ExecSQL; |
| 681 |
|
else |
| 682 |
|
begin |
| 683 |
|
Query.SQL.Text := |
| 684 |
< |
'INSERT INTO rawmap (src_id,src_link_offset,sep,size) VALUES (' + |
| 684 |
> |
'INSERT INTO rawmap (name,src_id,src_link_offset,sep,type,size) VALUES (' + |
| 685 |
> |
'"' + RawLinks[i].Name + '", ' + |
| 686 |
|
IntToStr(FileID) + ', ' + IntToStr(RawLinks[i].SrcOffset) + ', ' + |
| 687 |
< |
BoolToStr(RawLinks[i].LocSep) + ', 0);'; |
| 687 |
> |
BoolToStr(RawLinks[i].LocSep) + ', ' + |
| 688 |
> |
'"' + RawLinks[i].RawType + '", ' + |
| 689 |
> |
'0);'; |
| 690 |
|
Query.ExecSQL; |
| 691 |
|
end; |
| 692 |
|
end; |