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


On Mon, Feb 13, 2012 at 05:39:51PM +0100, Radek Doulik wrote:

looks OK to me. I have cherry-picked it from master, because the
attached patch didn't apply.

Oh, sorry, some difference between my work tree and pristine
libreoffice-3-5 must have made a mess.

The "sorted by concatenation" problem is commit
0adf5eed03d7a0f14d73c23bceb13b7a8cc693e4 in master, but was grouped in
my patch. Could you please cherry-pick it, too? Thanks.

On Thu, 2012-02-09 at 19:27 +0100, Lionel Elie Mamane wrote:
getColumns() is a XDatabaseMetadata interface function to get the list
of columns of a table and info on these columns.

The PostgreSQL-SDBC implementation in 3.5.0 has a couple of bugs fixed
by the attached patch.

 - If the table previously had a column that has since been dropped
   (removed), the numbering of the columns has a hole, and in some
   circumstances the dropped column is still shown by getColumns().

 - Entries were sorted by the concatenation (?) of schema name, table
   name, column name. In rare cases, this could lead to wrong order,
   and is slower anyway. Example:

   library, book, bookID
   library, bookShelf, bookShelfID
   library, book, XID

   is sorted in this order by "concatenation", but in this (correct) order
   when sorting by column:

   library, book, bookID
   library, book, XID
   library, bookShelf, bookShelfID

   "||" is the SQL string concatenation operator.

I don't have a smoking gun fdo# of a "point and click user"-visible
bug of this, partially because our internal code is suspicious about
some of this data... See lcl_sanitizeColumnDescs in
connectivity/source/commontools/TTableHelper.cxx.

But I consider Base also as a programming platform,
user code (scripts) is allowed to call any function in
XDatabaseMetadata with any arguments, and giving a wrong result (data)
back is a bug in itself.


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.