[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#617596: libreoffice-base mangles data on trivial .odb database

severity 617596 important
retitle 617596 Base gets confused on data input with two columns differring just in case


On Wed, Mar 09, 2011 at 05:37:59PM -0500, Daniel Kahn Gillmor wrote:
> On 03/09/2011 04:27 PM, Rene Engelhard wrote:
> > On Wed, Mar 09, 2011 at 03:42:18PM -0500, Daniel Kahn Gillmor wrote:
> >> Package: libreoffice-base
> >> Version: 1:3.3.1-1
> >> Severity: grave
> >> Justification: causes non-serious data loss
> > 
> > Come on. You see this in the *first* entry you do in the table. Immediately.
> > And you get a report with *THAT* record, you have to fix it then anyways.
> >
> > I'd more argue that this is important.
> Feel free to re-adjust the priority, i meant no offense.  This seemed
> like it met the "non-serious data loss" bar to me, but i'm happy to go
> with your decisions.


> I know it's a bad idea to believe hype without testing it but...
> http://www.libreoffice.org/features/base/ says:
> >>> Base comes configured with the full HSQL relational database engine.
> >>> It's an ideal solution for uncomplicated needs, and for people
> >>> requiring an easy-to-understand, simple-to-use system: the data is
> >>> stored right inside the Base file, and you also get native support for
> >>> dBase flat files.

Sounds like marketing blurb to me :)

> This seems to be related to the folllowing I found at                                                         
> http://rlogiacco.blogspot.com/2009/03/hsqldb-no-such-table-exception.html:

hsqldb upstream contacted me in private because he obviously didn't
like me "blaming" hsqldb here:

--- snip ---
Why do you blame HSQLDB for a bug in OOo data entry forms? This bug is                                          
related to mixing up lowercase/uppercase identifiers for a column named                                         
Id etc. It can equally affect DB2 or Oracle.                                                                    
Technically, I guess the bug may be related to how a JDBC ResultSet is                                          
accessed in OOo (the ResultSet spec does not distinguish the case of a                                          
column name).                                                                                                   
Re case sensitivity, I guess you are accustomed to MySQL or other                                               
database engines that did not follow the SQL Standard (recent MySQL does                                        
if you set the relevant flags).                                                                                 
SQL is a formally defined language and an international standard. Since                                         
SQL-92, the standard clearly specifies how it deals with identifier                                             
cases. The case of an identifier in a SQL statement is defined when the                                         
statement is parsed. In the same way as SelecT, sElect, and select are                                          
all converted to SELECT, an unquoted identifier is uppercased at parse                                          
time. Double quoted identifiers are preserved with their original case.
--- snip ---


 .''`.  René Engelhard -- Debian GNU/Linux Developer
 : :' : http://www.debian.org | http://people.debian.org/~rene/
 `. `'  rene@debian.org | GnuPG-Key ID: D03E3E70
   `-   Fingerprint: E12D EA46 7506 70CF A960 801D 0AA0 4571 D03E 3E70

Reply to: