§ 13.13 - The Library Database

dTank (β) uses a compiled-in (for stability) implementation of SqLite version 3.7.5 to establish and maintain the library database. Because of this, the information in it can be exposed and made portable to other applications by developers.

You can snoop around the dTank (β) database using my editdb project, or any other SqLite-comprehending tool.

Warning: If you're going to get into the database internals, I strongly encourage you to copy the database first, then snoop around that rather than the one dTank (β) is actively using for its images, or at least, back up the main database before getting into it so you can restore it if you do something that causes problems.

I've documented this somewhat sparsely because I'm not sure if this information will be used. Some of it, I think, is fairly obvious. Some of it isn't. If you have specific questions you need answered, contact me and let me know using this link: fyngyrz@gmail.com which sets the email subject to "DTank Database Information Request" and I'll update the appropriate details below; otherwise, the SqLite database format for dTank (β) Version 1, Beta 1.0 is as follows:


folders describes the library (sub-)folders name text name of folder description text user description of folder, currently unused open integer folder open or closed indication selected integer folder selected, currently unused path text library folder path, currently unused idx integer general purpose index, currently unused parent integer index of parent folder, if any project integer index of parent project (root) folder, if any photographer text photographer name, currently unused copyright text copyright text, currently unused keywords text keywords, currently unused time text folder creation time date text folder creation date marker integer general purpose marker, currently unused aidx integer primary key autoincrement layers maintains the settings for built-ins and plug-ins on a per-version basis fp1 real each layer may have up to 8 floating-point control parameters fp2 real usually implemented as sliders fp3 real fp4 real fp5 real fp6 real fp7 real fp8 real v1 integer each layer may have up to 8 integer control parameters v2 integer usually implemented as input fields v3 integer v4 integer v5 integer v6 integer v7 integer v8 integer b1 integer each layer may have up to 8 button-is-pressed parameters b2 integer implemented as bistable buttons b3 integer b4 integer b5 integer b6 integer b7 integer b8 integer c1 integer each layer may have up to 8 boolean control parameters c2 integer usually implemented as checkboxes c3 integer c4 integer c5 integer c6 integer c7 integer c8 integer cr1 integer each layer may have up to 8 red control parameters cr2 integer usually implemented as one channel of a color well cr3 integer cr4 integer cr5 integer cr6 integer cr7 integer cr8 integer cg1 integer each layer may have up to 8 green control parameters cg2 integer usually implemented as one channel of a color well cg3 integer cg4 integer cg5 integer cg6 integer cg7 integer cg8 integer cb1 integer each layer may have up to 8 blue control parameters cb2 integer usually implemented as one channel of a color well cb3 integer cb4 integer cb5 integer cb6 integer cb7 integer cb8 integer role integer what built-in or plug-in effect this layer represents pri integer layer priority (processing order) instance integer currently unused visible integer layer on or off opacity real mix of layer process result with effects of lower priority alpha text filename of alpha channel file for this layer (painted, etc.) master integer what master image this layer is applied to version integer what version contains this layer marker integer marker information aidx integer primary key autoincrement unique ID for layer within DB masters maintains a record of the master images name text image filename in host filesystem title text custom name of image in library (otherwise, name is used) description text image description, currently unused path text path to image in host filesystem idx integer general purpose index, currently unused photographer text photographer name copyright text copyright string thumb integer thumbnail index, currently unused preview integer preview index, currently unused rating integer numeric rating, currently unused keywords text keywords, currently unused selected integer image selected in library, currently unused open integer master image open in library pane project integer project folder containing master folder integer folder containing master exifkvt text image EXIF, currently unused latitude real image location, currently unused longitude real image location, currently unused altitude real image location, currently unused camera text camera name, currently unused lens text camera lens, currently unused notes text image notes, currently unused time text image shooting time, currently unused date text image shooting date, currently unused marker integer general purpose marker, currently unused aidx integer primary key autoincrement unique ID for master in DB projects maintains information about project (root) folders name text name of project (root) folder description text user description of folder, currently unused open integer Folder open, or not, in library selected integer general selected indication, currently unused path text path for contents of folder, currently unused idx integer general index, currently unused photographer text photographer name, currently unused copyright text copyright text, currently unused keywords text , currently unused time text folder creation time date text folder creation date marker integer , currently unused aidx integer primary key autoincrement unique index for project (root) folder sqlite_sequence used by SqLite internals, do not touch name seq stacks maintains information about astro stacked layers master integer stack image DB index xc integer marker X center for rotation yc integer marker Y center for rotation xlate real X positional translation ylate real Y positional translation rotat real rotation in degrees about XY center smark integer marked for current use in stack or not sref integer unique index in stack sgroup integer stacking group image belongs to aidx integer primary key autoincrement unique ID for stacked layer within DB system global system information version integer library design version path text Base image path ordering integer global preferred sort ordering, currently unused creation text library creation date copyright text top level default copyright text photographer text top level default photographer name time text library creation time thumbx integer index of thumbnail, currently unused previewx integer index of preview image, currently unused revision integer library design revision versions information about specific versions idx integer general purpose index, currently unused keywords text version keywords, currently unused rating integer version rating, currently unused date text version date time text version time thumb integer thumbnail index, currently unused preview integer preview index, currently unused processor text user who set up this version, currently unused notes text version notes, currently unused title text user title for image in library selected integer item selected, currently unused master integer masted image index version modifies marker integer general purpose marker, currently unused aidx integer primary key autoincrement unique ID for version within DB
Keyboard Navigation
, Previous Page . Next Page t TOC i Index o Operators g Glossary

Valid HTML 4.01 Loose
 

This manual was generated with wtfm
wtfm uses aa_macro and SqLite
aa_macro uses python 2.7
Please consider supporting my dTank (β) development efforts via a small PayPal donation.