Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


On Mon, Feb 20, 2012 at 03:49:02AM -0800, julien2412 wrote:

Michael Meeks wrote
On Sun, 2012-02-19 at 05:49 -0800, julien2412 wrote:
I let a comment about this bug
https://bugs.freedesktop.org/show_bug.cgi?id=46180#c3.
I'm stucked because I don't know what's the use of the boolean variables
quoted in the comment.

     Does Lionel's feedback help ? :-)


Now if I understand what Lionel said, I don't know if DBF files
should be consider as DBase files.

I didn't test what's the result with ODS, ODP, etc.  (instead of ods, odp,
...) files and I don't know what should it be :
must we consider ODS is not ods for example ?

Usually, LibreOffice should not care about extensions at
all. Extensions are a hint for the desktop environment which program
to hand off a file to when the user asks "open this file".

You can try:

 mv foo.ods foo
 libreoffice foo
 mv bar.doc bar.ods
 libreoffice bar.ods

It will work: foo will be opened in calc, and bar.ods in writer (not
calc). For any file we are asked to open, we should look at file
*contents*, not file *name* to decide what to do with it.

Now, csv-style files pose a unique problem: it is not possible to
reliably sniff whether a file is a csv-style file, and we don't
actually treat files, but we treat directories that contain a bunch of
these files PLUS possibly other stuff, because each "table" will be in
its own file, so a "database" is really a directory (or directory
hierarchy if you want catalogs and schemas). So we need a way to sort
out the tables from the other "stuff". So it is a reasonable solution
(and possibly the best we can do) to rely on file extension to see
which file in the given directory we should treat as a "csv-style"
table. Theoretically, one could imagine a heuristic method based on
contents, but that could make more new problems than it solves.

dBase files are similar, but not quite. I understand that they, too,
contain only one table per file. But my strong guess is that they can
be reliably content-sniffed. So, for dBase files we should probably
completely abandon the "filename extension" stuff, and read a few
bytes from every file in the directory, and if the first bytes are the
dBase signature, consider it as a table from the database.

-- 
Lionel

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.