[Libreoffice-bugs] [Bug 38811] default to SQLite not HSQLDB in Base
https://bugs.freedesktop.org/show_bug.cgi?id=38811 Bug 38811 depends on bug 51781, which changed state. Bug 51781 Summary: Select a good replacement for embedded HSQLDB 1.8 https://bugs.freedesktop.org/show_bug.cgi?id=51781 What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED -- You are receiving this mail because: You are the assignee for the bug. ___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 38811] default to SQLite not HSQLDB in Base
https://bugs.freedesktop.org/show_bug.cgi?id=38811 Lionel Elie Mamane changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WONTFIX --- Comment #26 from Lionel Elie Mamane 2012-07-06 04:11:02 PDT --- Closing since we decided that SQLite is not the right/best solution. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 38811] default to SQLite not HSQLDB in Base
https://bugs.freedesktop.org/show_bug.cgi?id=38811 Lionel Elie Mamane changed: What|Removed |Added Depends on||51781 -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 38811] default to SQLite not HSQLDB in Base
https://bugs.freedesktop.org/show_bug.cgi?id=38811 Lionel Elie Mamane changed: What|Removed |Added Blocks|51780 | -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 38811] default to SQLite not HSQLDB in Base
https://bugs.freedesktop.org/show_bug.cgi?id=38811 Lionel Elie Mamane changed: What|Removed |Added Blocks||51780 -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 38811] default to SQLite not HSQLDB in Base
https://bugs.freedesktop.org/show_bug.cgi?id=38811 --- Comment #25 from Michael Meeks 2012-07-06 03:18:34 PDT --- Lionel - should we open a new & cleaner bug with title: "create FireBird SQL connector" or something ? :-) and make that an easy hack ? this one is rather a long & daunting read for an easy-hacker. I guess we could close this bug too if sqlite is not the right solution :-) -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 38811] default to SQLite not HSQLDB in Base
https://bugs.freedesktop.org/show_bug.cgi?id=38811 Lionel Elie Mamane changed: What|Removed |Added Status Whiteboard|EasyHack|EasyHack |DifficultyInteresting |DifficultyInteresting |SkillCpp|SkillCpp SkillSQL -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 38811] default to SQLite not HSQLDB in Base
https://bugs.freedesktop.org/show_bug.cgi?id=38811 --- Comment #24 from Lionel Elie Mamane 2012-06-17 03:30:12 PDT --- (In reply to comment #23) > (In reply to comment #22) >> The non-solutions: >> MySQL/MariaDB/... : can be embedded, but GPL > About MariaDB: I found this link http://kb.askmonty.org/en/licensing-faq/ and > above all this link : > http://monty-says.blogspot.fr/2010/12/in-search-of-bsdlgplapache-licensed.html > I don't know what to think about it (could we be in the "FLOSS exception" ?) The FLOSS exception is for the client library; in the current context, the discussion was about embedding the server. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 38811] default to SQLite not HSQLDB in Base
https://bugs.freedesktop.org/show_bug.cgi?id=38811 Julien Nabet changed: What|Removed |Added CC||serval2...@yahoo.fr --- Comment #23 from Julien Nabet 2012-06-14 15:26:57 PDT --- (In reply to comment #22) ... > The non-solutions: > MySQL/MariaDB/... : can be embedded, but GPL >... About MariaDB: I found this link http://kb.askmonty.org/en/licensing-faq/ and above all this link : http://monty-says.blogspot.fr/2010/12/in-search-of-bsdlgplapache-licensed.html I don't know what to think about it (could we be in the "FLOSS exception" ?) since I'm quite lost by reading all that. But perhaps you had already read all this. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 38811] default to SQLite not HSQLDB in Base
https://bugs.freedesktop.org/show_bug.cgi?id=38811 --- Comment #22 from Lionel Elie Mamane 2012-06-14 08:37:31 PDT --- So, starting to look at alternatives to sqlite3, for now our best shot seems to be Firebird. Firebird: MPL-style licensing, first cursory glance OK featureset The non-solutions: MySQL/MariaDB/... : can be embedded, but GPL CSQL: GPL MonetDB: introduced embedded mode in 2004, but dropped it as of 2011 (source says it was not a true embedded mode anyway, only a single client server) -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 38811] default to SQLite not HSQLDB in Base
https://bugs.freedesktop.org/show_bug.cgi?id=38811 --- Comment #21 from Lionel Elie Mamane 2012-06-12 07:25:17 PDT --- (In reply to comment #20) >> In the discussion in bug 50575, I discovered that SQLite3 has a rather weak >> notion of datatype, and uses dynamic typing instead of static typing which >> underlies the SQL data model. > Interesting of course :-) - I guess we're not talking though about importing > arbitrary sqlite databases, but having a well confined database inside our own > file formats, that we can apply our own constraints to (right?). Good luck explaining that to the users; that's however the least of the problems. > In such a situation surely it is possible to layer constraints / strong typing > on top of the database in our code ? [ wouldn't we do that by accident / > default anyway ]. But I guess it's more work if we have to have extra type > annotation information around the place. We could do that, but that doesn't give us the right operator semantics on these "subtypes". In SQL (and in most programming languages), the operators have a different meaning depending on the datatype of the value, and sqlite3 has too few types; only NULL, integer, real (floating-point) text or BLOB. Missing is e.g. any date/time related stuff. E.g. is "40 > 5" true or false? If "40" and "5" are strings, then it is false; if they are integers, then it is true. sqlite3 properly supports the distinction between integers and strings, so these examples are handled correctly. But sqlite has no notion of date or time values per se. Only as strings or integers or floats. Hence the problems as in bug 50575, where the query "SELECT * FROM table WHERE column='constant_value'" does not find the row because that equality is interpreted as string equality (where 0 <> 0.0 ) instead of timestamp equality (where 0 = 0.0). Also consider "WHERE column < '18:12'". As a timestamp, '18:12' is '2000-01-01 18:12:00': sqlite> SELECT datetime('18:12'); 2000-01-01 18:12:00 But if a row in the column contains '1900-05-09', that test will evaluate to false and the row not returned, while 'it should' evaluate to true. We *could* theoretically, when using sqlite, basically wrap each time, date, etc value into a "julianday()" call to force date/time handling, as when the user asks for this query: SELECT * FROM table WHERE column < '18:12' we see that column is date/time/timestamp and instead issue to SQLite3: SELECT * from table WHERE julianday(column) < julianday('18:12') 1) That's a much deeper analysis of the query than we do now, and heavy special-casing. Beh. 2) If you think it is feasible, what about this query: SELECT col2, MAX(column) as maxcolumn FROM table GROUP BY col2 WHERE strftime("%w", min(column, '18:12')) = '1' This is supposed to select, for each distinct value of col2, the maximal value of column that is a Monday among those that are earlier than '2000-01-01 18:12:00'. You *can* get this correctly using sqlite, with something like: SELECT col2, datetime(MAX(julianday(column))) as maxcolumn FROM table GROUP BY col2 WHERE strftime("%w", min(julianday(column), julianday('18:12'))) = '1' Note the conversion back to datetime string after we are done computing. Still think one can do that? Now consider: SELECT col2, MAX(column) as maxcolumn FROM table GROUP BY col2 WHERE strftime("%Y-%m-%d", min(column, '18:12')) = '00:00' Now, to get this correct: SELECT col2, datetime(MAX(julianday(column))) as maxcolumn FROM table GROUP BY col2 WHERE strftime("%Y-%m-%d", min(julianday(column), julianday('18:12'))) = date('00:00') or SELECT col2, datetime(MAX(julianday(column))) as maxcolumn FROM table GROUP BY col2 WHERE julianday(strftime("%Y-%m-%d", min(julianday(column), julianday('18:12' = julianday('00:00') Note that depending on the format given by strftime, we need to decide whether this is a time/date or not. Also consider SELECT col2, datetime(MAX(julianday(column))) as maxcolumn FROM table GROUP BY col2 WHERE strftime('just a constant', min(julianday(column), julianday('18:12'))) = 'just a constant' -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 38811] default to SQLite not HSQLDB in Base
https://bugs.freedesktop.org/show_bug.cgi?id=38811 --- Comment #20 from Michael Meeks 2012-06-08 03:13:46 UTC --- > In the discussion in bug 50575, I discovered that SQLite3 has a rather weak > notion of datatype, and uses dynamic typing instead of static typing which > underlies the SQL data model. Interesting of course :-) - I guess we're not talking though about importing arbitrary sqlite databases, but having a well confined database inside our own file formats, that we can apply our own constraints to (right?). In such a situation surely it is possible to layer constraints / strong typing on top of the database in our code ? [ wouldn't we do that by accident / default anyway ]. But I guess it's more work if we have to have extra type annotation information around the place. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 38811] default to SQLite not HSQLDB in Base
https://bugs.freedesktop.org/show_bug.cgi?id=38811 --- Comment #19 from Lionel Elie Mamane 2012-06-07 20:43:42 PDT --- In the discussion in bug 50575, I discovered that SQLite3 has a rather weak notion of datatype, and uses dynamic typing instead of static typing which underlies the SQL data model. Also, it does not enforce that a column of a certain datatype actually contain values of that datatype. So e.g. an integer column can actually contain any string. In the particular example of date or timestamp columns, it does not consider "2011-04-05" and "2011-4-5" as the same date, because timestamp or date is actually a *synonym* (alias) for varchar (string). So dacm was right, *baaad* idea. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 38811] default to SQLite not HSQLDB in Base
https://bugs.freedesktop.org/show_bug.cgi?id=38811 Florian Reisinger changed: What|Removed |Added Summary|[EasyHack] default to |default to SQLite not |SQLite not HSQLDB in Base |HSQLDB in Base --- Comment #18 from Florian Reisinger 2012-05-18 09:47:43 PDT --- Deleted "Easyhack" from summary. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs