cldump(1)

πŸ’Ύ cldump β€” the manual page, but make it a group chat πŸ’…

okay bestie, welcome to cldump(1) from the User Manuals section, aka the lil tool that yanks data out of Clarion databases. it's niche, it's lowkey iconic, and you're gonna understand it fr fr. sit down, grab a boba, let's go πŸ§‹βœ¨


🌸 NAME 🌸

cldump β€” the Clarion database extractor, no cap 🫢


✨ SYNOPSIS ✨

cldump [options] database.dat

that's it. that's the whole vibe check. options, then the .dat file, periodt.


πŸ¦‹ DESCRIPTION πŸ¦‹

so cldump extracts the data that's chillin' inside a Clarion database. and like β€” what even is Clarion? it's a Windows IDE, kind of a Delphi-adjacent situation, and it comes with its own database format that's honestly pretty simple. cute of it. πŸŽ€

cldump can pull the data out of that database and export it to a few different formats:

  • CSV β€” spreadsheet-coded, everyone's bestie
  • SQL β€” and yes, it includes the database schema, the keys AND the indexes, the whole package πŸ”₯
  • its own format β€” this one gives you all the meta information, but heads up: it is not easily parsable. it's giving lore dump, not structured data πŸ™ˆ

also, a Clarion database isn't just one file, it's a whole little friend group:

  • .DAT β€” these files contain the data (the main character πŸ‘‘)
  • .Kxx β€” these files contain the key/index data
  • .MEM β€” these files contain the memo entries associated to the data

πŸ’… OPTIONS πŸ’…

  • -x n, --decrypt n β€” decrypt an encrypted file. the required argument n tells it where the key is gonna be retrieved from. valid values are in the range 1 - 4 inclusive, and n = 1 usually works (start there bestie).
🚨 REAL TALK: decryption happens in-place, so KEEP A BACKUP. there is literally no guarantee the decryption process won't fail. and encrypted files must be decrypted before they can be dumped, so you can't skip this step.

also note: only the data file and the memo file get decrypted in this process. key/index files are left untouched because cldump doesn't use them anyway. not its business, not its problem ✨

  • -d, --dump-active β€” dump active entries only
  • -D, --dump-data β€” dump the actual data (active AND deleted entries β€” the ghosts are included πŸ‘»)
  • -m, --dump-meta β€” dump meta information. and jsyk, no SQL or CSV output format exists for this option, so don't try it πŸ’€
  • -f c, --field-separator c β€” set the field separator to character c. only valid for CSV output (see below).
  • -c, --csv β€” dump data or schema in CSV format
  • -S, --sql β€” dump data or schema in SQL format
  • -s, --schema β€” dump database schema
  • -M, --mysql β€” use MySQL specific construct (backticks, ...)
  • -n, --no-memo β€” do not dump memo entries
  • -U[charset], --utf8[=charset] β€” transcode strings and memos from charset to UTF-8. the charset defaults to ISO8859-1, and if you wanna see the list of supported charsets, just run iconv --list 🧚

🌈 OUTPUT 🌈

cldump outputs the data to stdout or stderr β€” which one depends on the output format you selected, the data you're extracting, and the type of the data (data vs. meta data). so if you're piping and something looks empty, check the other stream bestie, it's probably there 🫢


πŸ’€ BUGS πŸ’€

the SQL output could be improved, ngl. not all the types supported by the Clarion database format are implemented yet β€” this is due to lack of test databases using these types of data. see the source code for details if you're curious like that.

please report bugs to jb@jblache.org. and if possible, please send patches, because the set of test databases available is very limited 😭 (so like, your contribution would genuinely eat)


πŸ‘‘ AUTHOR πŸ‘‘

cldump was written by Julien BLACHE <jb@jblache.org>. legend behavior.


πŸ”— HOMEPAGE πŸ”—

http://www.technologeek.org/projects/cldump/


and that's the whole page, bestie! πŸŽ€ this one lives on Linux, it's dated November 2010, and it's filed under cldump(1). go dump some databases responsibly, back up your files, and stan an extractor that actually tells you what it does πŸ’–βœ¨πŸ¦‹