SQLite Database SQLITE3: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{GRAFPageHeader}}
{{GRAFPageHeader}}
== SQLITE3 ==  
== SQLITE3, DB, S3DB ==  


* ''' Format Type ''':    Database <br>  
* ''' Format Type ''':    Database <br>  
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br>
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Big Endian <br>
* ''' Signature ''':    SQLite format 3 <br>  
* ''' Signature ''':    SQLite format 3 <br>  


Line 11: Line 11:
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;">
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;">
<pre>
<pre>
//header
// SQLITE3 file format
 
// big endian
 
// header
16 bytes (char) - signature // "SQLite format 3"
16 bytes (char) - signature // "SQLite format 3"
2 bytes (uint16) - database page size
2 bytes (uint16) - database page size
1 byte (uint8) - file format write version  // 1 or 2
1 byte (uint8) - file format write version  // 1 or 2
1 byte (uint8) - file format read version  // 1 or 2
1 byte (uint8) - file format read version  // 1 or 2
1 byte (uint8) - bytes of unused space at the end of each page
1 byte (uint8) - maximum embedded payload fraction  // must be 64
1 byte (uint8) - minimum embedded payload fraction  // must be 32
1 byte (uint8) - leaf payload fraction  // must be 32
4 bytes (uint32) - file change counter
4 bytes (uint32) - size of the database file in pages




Line 21: Line 31:
</pre>
</pre>
</div>
</div>
=== MultiEx BMS Script ===
Not written yet.


=== Notes and Comments ===  
=== Notes and Comments ===  


None.
* Database total size can be calculated like this:
** End_offset = Start_offset + (page_size * num_of_pages)
** Total_size = End_offset - Start_offset


=== Games ===  
=== Games ===  
Line 34: Line 42:
* ANNO: Mutationem (*.db)
* ANNO: Mutationem (*.db)
* ArcheAge Online (*.sqlite3) (encrypted)
* ArcheAge Online (*.sqlite3) (encrypted)
* Ares Chronicles (PC) (*.db) (not encrypted)
* Matchmension: House of Mist (*.s3db)
* Matchmension: House of Mist (*.s3db)
=== quickBMS Script ===
* [https://github.com/bartlomiejduda/Tools/blob/master/NEW%20Tools/SQLITE3/Dump_SQLite3_database_script.bms Dump_SQLite3_database_script.bms]


=== Compatible Programs ===  
=== Compatible Programs ===  
Line 43: Line 56:


* [https://www.sqlite.org/fileformat.html  SQLite Database file format (sqlite.org)]
* [https://www.sqlite.org/fileformat.html  SQLite Database file format (sqlite.org)]
==Gallery==
<gallery bordercolor="transparent" spacing="small" orientation="landscape">
anno_db.png|SQLite database with '''ANNO: Mutationem''''s text data opened in SQLiteStudio
</gallery>
<br/><br>
<br/><br>


Line 52: Line 70:
[[Category:Extension_sqlite3 | Extension: sqlite3]]
[[Category:Extension_sqlite3 | Extension: sqlite3]]
[[Category:Extension_s3db | Extension: s3db]]
[[Category:Extension_s3db | Extension: s3db]]
[[Category:BMS_None | BMS: None]]
[[Category:File Format]]
[[Category:File Format]]

Latest revision as of 22:36, 1 May 2022

Back to index | Edit this page

SQLITE3, DB, S3DB

  • Format Type : Database
  • Endian Order : Big Endian
  • Signature : SQLite format 3


Format Specifications

// SQLITE3 file format

// big endian

// header
16 bytes (char) - signature // "SQLite format 3"
2 bytes (uint16) - database page size
1 byte (uint8) - file format write version  // 1 or 2
1 byte (uint8) - file format read version  // 1 or 2
1 byte (uint8) - bytes of unused space at the end of each page
1 byte (uint8) - maximum embedded payload fraction  // must be 64
1 byte (uint8) - minimum embedded payload fraction   // must be 32
1 byte (uint8) - leaf payload fraction  // must be 32
4 bytes (uint32) - file change counter
4 bytes (uint32) - size of the database file in pages


// TODO

Notes and Comments

  • Database total size can be calculated like this:
    • End_offset = Start_offset + (page_size * num_of_pages)
    • Total_size = End_offset - Start_offset

Games

List of games using this file format:

  • ANNO: Mutationem (*.db)
  • ArcheAge Online (*.sqlite3) (encrypted)
  • Ares Chronicles (PC) (*.db) (not encrypted)
  • Matchmension: House of Mist (*.s3db)

quickBMS Script

Compatible Programs

  • SQLiteStudio

See Also

Gallery