Patrick Shanahan (2018-Sep-24, excerpt):
> * dt-l...@stefan-klinger.de <dt-l...@stefan-klinger.de> [09-24-18 06:00]:
> > Hmmm, Patrick, does your comment answer my question?  Or did it relate
> > to something else?  I'm not sure:
> > 
> > Patrick Shanahan (2018-Sep-23, excerpt):
> > ...
> > > > > > So for me it's three styles.  I want to delete the one with id 2:
> > > > > > 
> > > > > >      sqlite> delete from styles where id = 2;
> > ...
> > > > > > So I guess that's what Patrick suggested.  But this has only deleted
> > > > > > the (id, name, description) triplet.  Where is the actual style
> > > > > > definition?  Is that in style_items?  I don't know...
> > ...
> > > no, you must import styles.  but once you import them they are available
> > > for use until you delete them.
> > 
> > Let me state my question again:
> > 
> > The style information must be somewhere, but I'm sure I have not yet
> > deleted it with above recipe.  Or does this trigger deletion due to DB
> > constraints?  Or do I need to explicitly delete something else?
> 
> you must import the styles before they become available in dt.  then the
> styles and their information is retained in ~/.control/darktable/data.db. 
> removing the style data using sqlite or sqlite browser from data.db
> negates the previous import action and the styles will no longer be
> available in dt.  has nothing to do with the directory where you store
> those styles.
> 
> and you will have "explicitly" deleted something, the data-base
> information.

    $ sqlite3 .config/darktable/data.db 
    sqlite> .schema styles
    CREATE TABLE styles (id INTEGER, name VARCHAR, description VARCHAR);

If I delete a row from the `styles` table, then *only* the triplet
(id, name, description) is removed from the database.  The information
that actually constitutes the style is *not* deleted, because it is
not contained in that triplet.

I agree, it's not visible in DT anymore.

I could imagine (but I do not know, and that's the gist of my
question) that the style information is in the table `style_items`,
and that it might be referenced from the `styles` table by its
attribute `styleid`.

    sqlite> .schema style_items
    CREATE TABLE style_items (styleid INTEGER, num INTEGER, module INTEGER, 
operation VARCHAR(256), op_params BLOB, enabled INTEGER, blendop_params BLOB, 
blendop_version INTEGER, multi_priority INTEGER, multi_name VARCHAR(256));

If that was the case, one would also need to

    sqlite> delete from style_items where styleid = 2;

to delete the data imported from the style file — under the assumption
that `2` refers to the style to delete.

Is that so?

If yes: Is there any other place where imported style info is stored?

If no: Then where is the actual style data?


-- 
http://stefan-klinger.de                                        o/X
I prefer receiving plain text messages, not exceeding 32kB.     /\/
                                                                  \
____________________________________________________________________________
darktable user mailing list
to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org

Reply via email to