TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

SQLite File Format Viewer

273 pointsby ilumantyabout 1 month ago

10 comments

jchwabout 1 month ago
This really would&#x27;ve come in handy when I was debugging my own SQLite parser a couple weeks ago.<p>One thing that initially confused me was how exactly the pages worked w.r.t. the first page on disk... I misunderstood the SQLite documentation in different ways, but it&#x27;s really rather simple: the very first page is just treated as containing the file header in it, and it pushes down the rest of the data, making the page shorter than the other pages. You can see that illustrated clearly if you click into the first page of a database using this tool: the database header comes first, then the page header.<p>This tool will undoubtedly come in handy for anyone who has a reason to be dealing with SQLite data structures directly for whatever reason, especially since the SQLite documentation is a bit terse at times.
评论 #43688207 未加载
评论 #43684613 未加载
评论 #43692316 未加载
latexrabout 1 month ago
I especially like that it provides a sample database. Would be nice it were downloadable as a file, so we could explore it with our own tools as well and get a better feeling for how the tool works.
评论 #43687083 未加载
roelschroevenabout 1 month ago
I tried with a simple database, and it just shows me a blank screen. The console in developer tools shows an exception (both in Firefox and Chromium):<p><pre><code> index-CGfYebmt.js:85 Uncaught RangeError: Offset is outside the bounds of the DataView at DataView.prototype.getUint32 (&lt;anonymous&gt;) at R0 (index-CGfYebmt.js:85:4683) at X0 (index-CGfYebmt.js:85:7966) at index-CGfYebmt.js:85:8157 at Array.map (&lt;anonymous&gt;) at Q0 (index-CGfYebmt.js:85:8150) at index-CGfYebmt.js:85:8240 at Object.useMemo (index-CGfYebmt.js:48:46087) at My.$.useMemo (index-CGfYebmt.js:17:7276) at V0 (index-CGfYebmt.js:85:8228) R0 @ index-CGfYebmt.js:85 X0 @ index-CGfYebmt.js:85 (anonymous) @ index-CGfYebmt.js:85 Q0 @ index-CGfYebmt.js:85 (anonymous) @ index-CGfYebmt.js:85 useMemo @ index-CGfYebmt.js:48 My.$.useMemo @ index-CGfYebmt.js:17 V0 @ index-CGfYebmt.js:85 tc @ index-CGfYebmt.js:48 bc @ index-CGfYebmt.js:48 lo @ index-CGfYebmt.js:48 No @ index-CGfYebmt.js:48 wm @ index-CGfYebmt.js:48 Xc @ index-CGfYebmt.js:48 Ao @ index-CGfYebmt.js:48 Qo @ index-CGfYebmt.js:48 me @ index-CGfYebmt.js:25</code></pre>
评论 #43692310 未加载
NoSaltabout 1 month ago
Really nice, looks great!<p>However, I am not a fan of uploading databases to &quot;strange&quot; sites on the internet, so I will probably never use this.
评论 #43684618 未加载
评论 #43684556 未加载
评论 #43684603 未加载
评论 #43684564 未加载
评论 #43692330 未加载
评论 #43684494 未加载
hamstergeneabout 1 month ago
This is super cool and will really help anyone studying how to build their own storage engines.<p>A note: the table that describes the data structures (Field # | Description | Value) should also list the data type (uint8 uint16 int32 text etc.). If it&#x27;s an enum (&quot;Table Leaf&quot;), reference other possible enum values. If its length depends on another field, reference that field No.
graemepabout 1 month ago
Very cool.<p>It would be nice if it tied the format in a bit more to the schema and data being shown, but that is a very minor gripe given how nice a tool this is.
NathanFlurryabout 1 month ago
I&#x27;ve been enjoying watching you build this on X – nice work.
评论 #43682337 未加载
mubouabout 1 month ago
This is really cool.
nraynaudabout 1 month ago
this is a wonderful learning tool, thank you.
throw0101dabout 1 month ago
Meta: always found it interesting that <i>.dev</i> was allowed to be a TLD:<p>* <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;.dev" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;.dev</a><p>More on-topic: another online option:<p>* <a href="https:&#x2F;&#x2F;sqliteviewer.app" rel="nofollow">https:&#x2F;&#x2F;sqliteviewer.app</a><p>* <a href="https:&#x2F;&#x2F;inloop.github.io&#x2F;sqlite-viewer&#x2F;" rel="nofollow">https:&#x2F;&#x2F;inloop.github.io&#x2F;sqlite-viewer&#x2F;</a><p>Local app:<p>* <a href="https:&#x2F;&#x2F;sqlitebrowser.org" rel="nofollow">https:&#x2F;&#x2F;sqlitebrowser.org</a>
评论 #43683170 未加载
评论 #43683498 未加载