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
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
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/
`. `' firstname.lastname@example.org | GnuPG-Key ID: D03E3E70
`- Fingerprint: E12D EA46 7506 70CF A960 801D 0AA0 4571 D03E 3E70