Issue 85311 - filter for text-field is not case-unsensetive
Summary: filter for text-field is not case-unsensetive
Status: CLOSED IRREPRODUCIBLE
Alias: None
Product: Base
Classification: Application
Component: code (show other issues)
Version: OOo 2.3.1
Hardware: All All
: P3 Trivial with 1 vote (vote)
Target Milestone: ---
Assignee: dbaneedsconfirm
QA Contact: issues@dba
URL: http://www.ooowiki.de/EinsZuVieleBezi...
Keywords:
Depends on:
Blocks:
 
Reported: 2008-01-16 23:01 UTC by mhatheoo
Modified: 2008-06-22 15:41 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
mini-table with two queries - one using upper() (10.88 KB, text/plain)
2008-01-23 02:42 UTC, mhatheoo
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description mhatheoo 2008-01-16 23:01:44 UTC
see the summary

set the parameter within the form-filter to 'W*' and 'w*' gives different results

Martin



(if you need a sample see the URL to ooowiki.de)
Comment 1 christoph.lukasiak 2008-01-21 14:33:39 UTC
clu->mhatheoo: where is the bug? means: why it should be case-unsensetive? you
can connect both filter condition with an 'or' statement to get this result
Comment 2 christoph.lukasiak 2008-01-21 14:34:11 UTC
=> works as designed
Comment 3 mhatheoo 2008-01-22 01:29:58 UTC
=>clu

oops, this seems to be sort "you did not understand what I ment". Okay, can
happen, but before we play ping-pong in here it would be very kind, if you leave
this issue open until  it had been discussed for a little.

yes, you are right, it works as designed, which is at actual the problem.

"OR" is no working condition to destinguish between upper- and lower case.
so that needs to be solved in another way when setting the parameters to the
filter. But which? 

Anyway, it is no really good idea to make sql-queries to destinguish between
upper and lower or mixed field-content. ANSI will work in another way.

Reopend and awaiting your advice

Martin


Comment 4 christoph.lukasiak 2008-01-22 09:20:16 UTC
clu->mhatheoo: i do not want to be unkind .. but this is the issue tracker and
neither a discussing board nor support center, so please write a precise
described feature enhancement after you have discussed your ideas/problems on a
corresponding mailing list/newsgroup f.e. users@dba f.e. here:
http://dba.openoffice.org/servlets/ProjectMailingListList

thx
Comment 5 christoph.lukasiak 2008-01-22 09:22:38 UTC
=> close
Comment 6 mhatheoo 2008-01-23 02:42:19 UTC
Created attachment 51095 [details]
mini-table with two queries - one using upper()
Comment 7 mhatheoo 2008-01-23 02:43:30 UTC
well Christoph 

I feel a litle disapointed about not reading my prior comment.

However:
The following phrase can not be entered in the assistant-modus of OOO,
but easyly in the sql-modus

SELECT * FROM "mhtabelle1" WHERE ( ( UPPER ( "Feldtext1" ) LIKE 'A' ) )

This is the solution to make a query case-insensitive(if you query on
non-indexed fields.
You need to find a solution for that
As this is a DBMS for the masses - like me - the default behavoir needs to be
"upper" as the default at that place.

if you need something to play with you find my sample odb attached

Martin


P.S.:
what did you ment with "this is not a support center"? When expected things do
not happen as expected, it is a defect-by-design - even if you have a workaround.
Comment 8 drewjensen.inbox 2008-05-21 06:49:41 UTC
Using the HSQLdb engine supplied with Base one can define fields of type
VARCHAR_IGNORECASE - in this situation the case of characters is stored in the
table ( so Mrs Jones stays Mrs Jones ) but all comparisons are performed without
regard to case. This includes the form based filters. So there is already a way
to achieve the results you are seeking.

I am setting this issue therefore to WORKSFORME
Comment 9 mhatheoo 2008-05-21 17:53:59 UTC
=> atj

well, this is no solution for the problem, and I am not sure whther you really
got the problem:

The case is about tables, that already exist, and for these, not the HSQLB
itself but the front-end/integration from OO is behaving wrong. 
The solution is as stated before and can be done within a SQL-statement only.
Wihin ANSI-SQL indexed fields should always be treated case-unsensetive, while
sorting or using as temporary-index on un-indexed fields should be
case-sensetive. That are rules. But as OO-Base is not using indexes on
DBase-files, every field in a query is - sofar - treated case-sensetive. 

my proposal was, that OO should work the other way round and treat fields
case-unsensetiv by default.
However - no solution for DBASE-files - I reopend the issue.

Martin

Comment 10 drewjensen.inbox 2008-05-21 18:48:52 UTC
Respecfully - you are confusing the issues here - or maybe I am.

Whether the comparison is performed in a case sensitive or case insensitive
manner is dependent on the database engine used and how it has been configured.

So where Base is using HSQL, MySQL, Postgres, SQl Sever... this is a non-issue
from the UI perspective, as it passes the select statement to the engine and
consumes the results.

However - it may be that you are limiting this to dBase files and if that is the
case then I would suggest that you update the summary line and mark the issue as
a request for enhancement - ( yes it is really a change in behavior but all the
same that is how I would suggest you do it )

Comment 11 christoph.lukasiak 2008-06-18 13:53:13 UTC
if anything work as designed and a single person do not like it, he (in this
case you) can discuss it in the mailing list to 'push' the change idea ..
because the issue tracker is not the right place and you do not get the proper
attention for you problem .. the second way is to write a feature enhancement
for this topic (then everybody can vote for)

do not want to blame you, but this is the way it works on oo

thx
Comment 12 christoph.lukasiak 2008-06-18 13:53:39 UTC
=> close
Comment 13 mhatheoo 2008-06-22 15:41:41 UTC
well christoph, I am not sure, whether this issue will need to be opend
immidiatly - or later. I will have a look.

So, where are the points:
I guess it would be a good idea if you look up, how ANSI-SQL is intended to work
- and in that you will find out, that handling of indexed and non-indexed fields
is different, which it is not in OO.o (but in HSQL, as I understood)

And dispite of that - my complaint is not about how I get a workaround - that
was found by me - but whether the BASE-part is having the features that it is
agreed to have - and that you can find in the help-files for example. Note, we
are not talking about defects by design - these we have too - we are talking
about not being implemented what is agreed - and state of the art.
 
However, you shouldn't have closed this issue, because VARCHAR-Ignorecase is no
option within the last stable (241) - you can see that from the assistent only -
and there is at actual neither the CWS named where its integrated nor a working
beta available, so it is not working yet.

keep it closed,  I will recheck it with the next available beta and than leave
it closed or reopen it again.

Martin