--- oup/current/Helper/LevelDB.pas 2007/05/02 13:19:40 173 +++ oup/current/Helper/LevelDB.pas 2007/11/26 11:02:28 248 @@ -593,13 +593,15 @@ begin Query.SQL.Text := 'CREATE INDEX idtargetid ON linkmap (target_id);'; Query.ExecSQL; Query.SQL.Text := - 'CREATE TABLE rawmap ( id AUTOINC PRIMARY KEY, src_id INTEGER, ' + - 'src_link_offset INTEGER, sep BOOLEAN, size INTEGER, ' + + 'CREATE TABLE rawmap ( id AUTOINC PRIMARY KEY, name STRING(32), src_id INTEGER, ' + + 'src_link_offset INTEGER, sep BOOLEAN, type STRING(8), size INTEGER, ' + 'data BLOB BlobCompressionMode 9 BlobBlockSize 1024 BlobCompressionAlgorithm ZLib);'; // Query.SQL.Text:='CREATE TABLE rawmap ( id AUTOINC PRIMARY KEY, src_id INTEGER, src_link_offset INTEGER, size INTEGER, data BLOB BlobCompressionAlgorithm None );'; Query.ExecSQL; Query.SQL.Text := 'CREATE INDEX idsrcid ON rawmap (src_id);'; Query.ExecSQL; + Query.SQL.Text := 'CREATE INDEX idtype ON rawmap (type);'; + Query.ExecSQL; Query.SQL.Text := 'CREATE TABLE datfiles ( id INTEGER PRIMARY KEY, extension CHAR(4), ' + 'name STRING(128), contenttype INTEGER, size INTEGER, ' + @@ -636,8 +638,6 @@ begin DoStep('Writing .dat-fileslist'); Application.ProcessMessages; - TAccess_OniArchive(Connection).UnloadWhenUnused := False; - FileTime := Time; Database.StartTransaction; for FileID := 0 to Connection.GetFileCount - 1 do @@ -666,9 +666,11 @@ begin Connection.LoadRawFile(FileID, RawLinks[i].SrcOffset, tempdata); mimecoder := TStringFormat_MIME64.Create; Query.SQL.Text := - 'INSERT INTO rawmap (src_id,src_link_offset,sep,size,data) VALUES (' + + 'INSERT INTO rawmap (name,src_id,src_link_offset,sep,type,size,data) VALUES (' + + '"' + RawLinks[i].Name + '", ' + IntToStr(FileID) + ', ' + IntToStr(RawLinks[i].SrcOffset) + ',' + BoolToStr(RawLinks[i].LocSep) + ', ' + + '"' + RawLinks[i].RawType + '", ' + IntToStr(RawLinks[i].RawSize) + ', ' + 'MimeToBin("' + MimeCoder.StrTo(@tempdata[0], RawLinks[i].RawSize) + '") );'; Query.ExecSQL; @@ -677,9 +679,12 @@ begin else begin Query.SQL.Text := - 'INSERT INTO rawmap (src_id,src_link_offset,sep,size) VALUES (' + + 'INSERT INTO rawmap (name,src_id,src_link_offset,sep,type,size) VALUES (' + + '"' + RawLinks[i].Name + '", ' + IntToStr(FileID) + ', ' + IntToStr(RawLinks[i].SrcOffset) + ', ' + - BoolToStr(RawLinks[i].LocSep) + ', 0);'; + BoolToStr(RawLinks[i].LocSep) + ', ' + + '"' + RawLinks[i].RawType + '", ' + + '0);'; Query.ExecSQL; end; end; @@ -735,7 +740,6 @@ begin btn_abortok.Default := True; converting := False; - TAccess_OniArchive(Connection).UnloadWhenUnused := True; Query.Close; Query.Free;