SQL-Abfrage in der Bibliothekssuche

  • Hallo,

    wo kann ich die genaue SQL-Abfrage finden, die hinter dem Suchfeld (rechts oben) in der Bibliothek liegt?
    Die Bibliothek (library), dort wo alle Lesezeichen und die Chronik u.a. gezeigt werden.

    Die Suche durchsucht mehrere Tabellen der places.sqlite Datenbank aber ich weiß nicht wie ich eine Abfrage machen kann, die mir alle Einträge ausgibt, so wie eben in der Bibliothekssuche.
    Ich habe zwar versucht die Tabellen mit OUTER JOINs zu verknüpfen, aber das geht in SQLITE anscheinend nicht (so wie auch kein RIGHT JOIN), so dass Abfragen mit leeren Feldern das Ergebnis verkleinern.

    Der Hintergrund ist: ich will eine Webseite (mit php und jquery) erstellen, wo ich mit meinem Android Smartphone durch meine Lesezeichen (nämlich die places.sqlite) suchen kann, so wie ich das im PC-Firefox oder Mac-Firefox in der Bibliothek auch tun kann. Was aber im Android Firefox noch (lange) nicht geht. Die zwar mit Sync importierten dortigen Lesezeichen werden weder nach Schlagwort noch nach Schlüsselwort durchsucht und das scheint sich auch nicht zu ändern.

    Ich habe die places.sqlite auf meinen webserver geladen und würde dann, z.B. per Add-On oder Batch-Datei immer wieder Änderungen hochladen. Auf dem webserver würde ich dann die Änderungen (mit php und sqlite) einpflegen. Siehe:
    https://www.camp-firefox.de/forum/viewtopic.php?f=4&t=98310

    franc

    PS.: ich hatte zuvor schon versucht mein Problem in der Firefox-dev Mailingliste zu posten:
    https://mail.mozilla.org/pipermail/fire…uly/000502.html
    aber da kommt auch keine Antwort.

    Ich hätte ja schon eine Idee, wie ich meine Frage beantworten könnte, nämlich Firefox kompilieren und debuggen...
    Aber bevor ich das mache studiere ich lieber noch schnell mal Physik und Quantenmechanik ;)

    Firefox immer aktuelle Version auf Windows 11 Enterprise (64-Bit) und OS X 10.15 mit DosDude1-Hack

    Einmal editiert, zuletzt von franc (8. Juli 2013 um 07:58)

  • Das ist ein Missverständnis.
    Ich suche eine Abfrage, also: SELECT ...
    Kein Tool, um eine Abfrage durchzuführen.
    Übrigens, der sqlite Manager geht schon noch.
    Es gibt aber weit bessere Tools für sqlite.

    Firefox immer aktuelle Version auf Windows 11 Enterprise (64-Bit) und OS X 10.15 mit DosDude1-Hack

    Einmal editiert, zuletzt von franc (8. Juli 2013 um 08:01)

  • Zitat von Boersenfeger

    ich arbeite nicht in oder mit sqlite.Dateien

    Macht ja nichts.

    SQL lernt man nicht zwischen Suppe und Hauptgericht, da muss man sich echt rein knien. Dessen ungeachtet hilft dies überhaupt nichts, wenn man die Struktur der Datenbank nicht kennt.
    Da z.B. die places.sqlite keine öffentliche Schnittstelle darstellt und darum auch nicht öffentlich dokumentiert ist, muss man erst viel Mühe investieren um sie kennen zu lernen. Das dabei erworbene Wissen darf man aber nicht unbedarft auf eine neue Version des Fx übertragen.

    Z.B. sollte der TO besser bei EXPORT und IMPORT nachlesen, da ein JOIN nur innerhalb einer Datenbank definiert ist.
    Dennoch sollte eine gewisse Vorsicht bei z.B. den Lesezeichen walten lassen, da die eine ID der Favicons tragen. Diese ist bestimmt nicht portierbar.

  • Jetzt der "TO":

    Zitat von Boersenfeger

    .. dann entschuldige die Störung... ich arbeite nicht in oder mit sqlite.Dateien und kann dir da nicht weiter helfen..

    Kein Problem. Gut auf jeden Fall, dass wir darüber geredet haben ;)

    Zitat von .Hermes

    ...Da z.B. die places.sqlite keine öffentliche Schnittstelle darstellt und darum auch nicht öffentlich dokumentiert ist...
    ... sollte der TO besser bei EXPORT und IMPORT nachlesen, da ein JOIN nur innerhalb einer Datenbank definiert ist.
    Dennoch sollte eine gewisse Vorsicht bei z.B. den Lesezeichen walten lassen, da die eine ID der Favicons tragen. Diese ist bestimmt nicht portierbar.

    Die places.sqlite ist nicht ganz undokumentiert:
    http://people.mozilla.org/~dietrich/places-erd.png
    https://developer.mozilla.org/en-US/docs/The_Places_database

    Ich bin übrigens auch nur innerhalb der DB unterwegs, export oder import ist also nicht relevant. Die Favicons brauche ich auch nicht.
    Ich wende mich eigentlich an einen Firefox-Entwickler oder jemanden, der schon mal den FF kompiliert hat. Diese(r) könnte nämlich im Code nachsehen, wie der SELECT konstruiert wird, der diese o.g. Suche bestückt.

    Ich vermute aber mittlerweile stark, dass hier im Forum keiner je den FF kompiliert hat.
    Ich habe die Anleitung zum Kompilieren mir mal angeschaut, aber das schien mir zu aufwendig, dass ich es sofort wieder gelassen hatte.

    Firefox immer aktuelle Version auf Windows 11 Enterprise (64-Bit) und OS X 10.15 mit DosDude1-Hack

    Einmal editiert, zuletzt von franc (7. Juli 2013 um 17:49)

  • Zitat von franc

    Ich vermute aber mittlerweile stark, dass hier im Forum keiner je den FF kompiliert hat.

    Ich habe sowohl Firefox als auch Firefox OS und Thunderbird schon mehr als nur einmal kompiliert, aber ich kann dir trotzdem nicht helfen. ;)

    Zitat von franc

    Diese(r) könnte nämlich im Code nachsehen, wie der SELECT konstruiert wird, der diese o.g. Suche bestückt.

    Der Code ist online verfügbar. Ich kann dir allerdings nicht sagen, in welcher Datei du schauen musst:
    http://mxr.mozilla.org/mozilla-release/

  • Zitat von franc

    Die places.sqlite ist nicht undokumentiert:

    Du hast das Datum der Dokumentationen beachtet ?
    Die Datenbank kann sich mit jeder Version ändern !

    Hier wurde früher einmal der Fx selbst compiliert, der zeitliche Aufwand war aber zu hoch gegenüber dem fertigen Fx von Mozilla oder Ubuntu.

    Wenn ich den Quelltext vom Fx vor mir habe, d.h. ein Mercurial, dann langt hier ein profaner Befehl …

    Code
    find * -name *.c |xargs grep -i select

    und schon sehe ich die Stellen im C-Quelltext, in denen ein SELECT vorkommt. Das muss natürlich für alle noch existierenden Dateierweiterungen durchgeführt werden.
    Die weitere Filterung ist mir zu mühselig.

  • Ja, das Datum hatte ich schon gesehen, aber es scheint im Großen und Ganzen durchaus noch zu stimmen.

    Zitat von .Hermes

    ...Die Datenbank kann sich mit jeder Version ändern ...

    Das ist aber eher unwahrscheinlich.

    Ich habe ja nun schon eine Weile in der DB rumgewühlt.
    Den Quelltext nach SELECT zu durchsuchen wäre natürlich dann eine Möglichkeit. Aber ich vermute bis ich die richtige Stelle gefunden habe, wenn ich sie überhaupt finde, könnte lange dauern. Ich bin nicht so firm im C.
    Ich hoffte halt, jemand weiß das schon und zeigt mir es rasch.
    Wenn mich jemand nach einer bestimmten Passage im Quelltext eines Programmes, das ich schon mal kompiliert hatte, fragt, also z.B. wie wird das und das gemacht usw. dann ist das eine Sache von ein paar Minuten.
    Wenn ich den Code nun ganz und gar nicht kenne, dann brauche ich Stunden oder Tage oder ewig.

    Firefox immer aktuelle Version auf Windows 11 Enterprise (64-Bit) und OS X 10.15 mit DosDude1-Hack

    Einmal editiert, zuletzt von franc (8. Juli 2013 um 08:06)

  • Ob es nun C ist, oder C++, Javascript oder sonst was sollte dich nicht von der Thematik ablenken.
    In jeder Sprache muss das vollständige SQL-Statement abgelegt sein.

  • Zitat von Sören Hentzschel

    ...Der Code ist online verfügbar. Ich kann dir allerdings nicht sagen, in welcher Datei du schauen musst:
    http://mxr.mozilla.org/mozilla-release/

    Super, das ist schon mal eine Hilfe, danke! Da ist ja sogar eine ordentliche Suchfunktion dabei. Vielleicht finde ich es so wirklich selbst.

    EDIT 2013-07-09:
    Mittlerweile hat auch jemand von der (moderierten) Mailingliste geantwortet:

    https://mail.mozilla.org/pipermail/fire…uly/000505.html

    Die Abfrage befindet sich demnach hier:

    http://mxr.mozilla.org/mozilla-centra…istory.cpp#1382

    Man muss allerdings doch ein wenig den Code verstehen, um auch die Abfrage zu verstehen.

    Firefox immer aktuelle Version auf Windows 11 Enterprise (64-Bit) und OS X 10.15 mit DosDude1-Hack