Ticket #802 (closed defect: fixed)
mUseNesting is not right
| Reported by: | ChristineBao | Owned by: | thomasknoell |
|---|---|---|---|
| Priority: | critical | Milestone: | 3.7.0 |
| Component: | ODBC Provider | Version: | 3.7.0 |
| Severity: | 2 | Keywords: | |
| Cc: | External ID: | 1403527.01 |
Description
Report from Autodesk QA:
During selection in ODBC provider, it generate filter like this:
(ID_ae=2 AND ID=18) OR (ID_ae=3 AND ID=20) OR (ID_ae=4 AND ID=28) OR (ID_ae=5 AND ID=26) OR (ID_ae=7 AND ID=24) OR (ID_ae=9 AND ID=13) OR (ID_ae=10 AND ID=73) OR (ID_ae=12 AND ID=34) OR (ID_ae=13 AND ID=26) OR (ID_ae=14 AND ID=24) OR (ID_ae=15 AND ID=34) OR (ID_ae=17 AND ID=16) OR (ID_ae=18 AND ID=20) OR (ID_ae=19 AND ID=26) OR (ID_ae=20 AND ID=5) OR (ID_ae=21 AND ID=26) OR (ID_ae=23 AND ID=34) OR (ID_ae=25 AND ID=34) OR (ID_ae=26 AND ID=8) OR (ID_ae=28 AND ID=26) OR (ID_ae=29 AND ID=26) OR (ID_ae=30 AND ID=73) OR (ID_ae=31 AND ID=30) OR (ID_ae=32 AND ID=29) OR (ID_ae=33 AND ID=26) OR (ID_ae=34 AND ID=11) OR (ID_ae=35 AND ID=34) OR (ID_ae=41 AND ID=30) OR (ID_ae=42 AND ID=26) OR (ID_ae=43 AND ID=75) OR (ID_ae=48 AND ID=8) OR (ID_ae=50 AND ID=73) OR (ID_ae=51 AND ID=38) OR (ID_ae=52 AND ID=73) OR (ID_ae=53 AND ID=20) OR (ID_ae=54 AND ID=38) OR (ID_ae=55 AND ID=30) OR (ID_ae=56 AND ID=18) OR (ID_ae=57 AND ID=47) OR (ID_ae=58 AND ID=48) OR (ID_ae=60 AND ID=17) OR (ID_ae=61 AND ID=74) OR (ID_ae=62 AND ID=71) OR (ID_ae=63 AND ID=59) OR (ID_ae=64 AND ID=29) OR (ID_ae=65 AND ID=61) OR (ID_ae=66 AND ID=71) OR (ID_ae=69 AND ID=61) OR (ID_ae=70 AND ID=64) OR (ID_ae=72 AND ID=64) OR (ID_ae=73 AND ID=70) OR (ID_ae=79 AND ID=71) OR (ID_ae=80 AND ID=70) OR (ID_ae=81 AND ID=58) OR (ID_ae=82 AND ID=59) OR (ID_ae=83 AND ID=64) OR (ID_ae=84 AND ID=65) OR (ID_ae=85 AND ID=58) OR (ID_ae=86 AND ID=59) OR (ID_ae=87 AND ID=60) OR (ID_ae=88 AND ID=65) OR (ID_ae=89 AND ID=53) OR (ID_ae=90 AND ID=64) OR (ID_ae=92 AND ID=69) OR (ID_ae=93 AND ID=60) OR (ID_ae=94 AND ID=65) OR (ID_ae=95 AND ID=65) OR (ID_ae=96 AND ID=65) OR (ID_ae=97 AND ID=65) OR (ID_ae=98 AND ID=65) OR (ID_ae=99 AND ID=59) OR (ID_ae=100 AND ID=63) OR (ID_ae=101 AND ID=58) OR (ID_ae=102 AND ID=53) OR (ID_ae=103 AND ID=65) OR (ID_ae=104 AND ID=55) OR (ID_ae=105 AND ID=67) OR (ID_ae=106 AND ID=68) OR (ID_ae=107 AND ID=71) OR (ID_ae=110 AND ID=65) OR (ID_ae=111 AND ID=71) OR (ID_ae=112 AND ID=5) OR (ID_ae=113 AND ID=53)
However after processing by FdoRdbmsFilterProcessor?, it's appended a lot of ( at first of the filter string, and cause exception when executing the query.
RDBMS: [Microsoft][ODBC Microsoft Access Driver] Expression too complex in query expression '( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( B.[ID_a'.
The generated filter string is:
( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( B."ID_ae" = 2 ) AND ( B."ID" = 18 ) ) OR ( ( B."ID_ae" = 3 ) AND ( B."ID" = 20 ) ) ) OR ( ( B."ID_ae" = 4 ) AND ( B."ID" = 28 ) ) ) OR ( ( B."ID_ae" = 5 ) AND ( B."ID" = 26 ) ) ) OR ( ( B."ID_ae" = 7 ) AND ( B."ID" = 24 ) ) ) OR ( ( B."ID_ae" = 9 ) AND ( B."ID" = 13 ) ) ) OR ( ( B."ID_ae" = 10 ) AND ( B."ID" = 73 ) ) ) OR ( ( B."ID_ae" = 12 ) AND ( B."ID" = 34 ) ) ) OR ( ( B."ID_ae" = 13 ) AND ( B."ID" = 26 ) ) ) OR ( ( B."ID_ae" = 14 ) AND ( B."ID" = 24 ) ) ) OR ( ( B."ID_ae" = 15 ) AND ( B."ID" = 34 ) ) ) OR ( ( B."ID_ae" = 17 ) AND ( B."ID" = 16 ) ) ) OR ( ( B."ID_ae" = 18 ) AND ( B."ID" = 20 ) ) ) OR ( ( B."ID_ae" = 19 ) AND ( B."ID" = 26 ) ) ) OR ( ( B."ID_ae" = 20 ) AND ( B."ID" = 5 ) ) ) OR ( ( B."ID_ae" = 21 ) AND ( B."ID" = 26 ) ) ) OR ( ( B."ID_ae" = 23 ) AND ( B."ID" = 34 ) ) ) OR ( ( B."ID_ae" = 25 ) AND ( B."ID" = 34 ) ) ) OR ( ( B."ID_ae" = 26 ) AND ( B."ID" = 8 ) ) ) OR ( ( B."ID_ae" = 28 ) AND ( B."ID" = 26 ) ) ) OR ( ( B."ID_ae" = 29 ) AND ( B."ID" = 26 ) ) ) OR ( ( B."ID_ae" = 30 ) AND ( B."ID" = 73 ) ) ) OR ( ( B."ID_ae" = 31 ) AND ( B."ID" = 30 ) ) ) OR ( ( B."ID_ae" = 32 ) AND ( B."ID" = 29 ) ) ) OR ( ( B."ID_ae" = 33 ) AND ( B."ID" = 26 ) ) ) OR ( ( B."ID_ae" = 34 ) AND ( B."ID" = 11 ) ) ) OR ( ( B."ID_ae" = 35 ) AND ( B."ID" = 34 ) ) ) OR ( ( B."ID_ae" = 41 ) AND ( B."ID" = 30 ) ) ) OR ( ( B."ID_ae" = 42 ) AND ( B."ID" = 26 ) ) ) OR ( ( B."ID_ae" = 43 ) AND ( B."ID" = 75 ) ) ) OR ( ( B."ID_ae" = 48 ) AND ( B."ID" = 8 ) ) ) OR ( ( B."ID_ae" = 50 ) AND ( B."ID" = 73 ) ) ) OR ( ( B."ID_ae" = 51 ) AND ( B."ID" = 38 ) ) ) OR ( ( B."ID_ae" = 52 ) AND ( B."ID" = 73 ) ) ) OR ( ( B."ID_ae" = 53 ) AND ( B."ID" = 20 ) ) ) OR ( ( B."ID_ae" = 54 ) AND ( B."ID" = 38 ) ) ) OR ( ( B."ID_ae" = 55 ) AND ( B."ID" = 30 ) ) ) OR ( ( B."ID_ae" = 56 ) AND ( B."ID" = 18 ) ) ) OR ( ( B."ID_ae" = 57 ) AND ( B."ID" = 47 ) ) ) OR ( ( B."ID_ae" = 58 ) AND ( B."ID" = 48 ) ) ) OR ( ( B."ID_ae" = 60 ) AND ( B."ID" = 17 ) ) ) OR ( ( B."ID_ae" = 61 ) AND ( B."ID" = 74 ) ) ) OR ( ( B."ID_ae" = 62 ) AND ( B."ID" = 71 ) ) ) OR ( ( B."ID_ae" = 63 ) AND ( B."ID" = 59 ) ) ) OR ( ( B."ID_ae" = 64 ) AND ( B."ID" = 29 ) ) ) OR ( ( B."ID_ae" = 65 ) AND ( B."ID" = 61 ) ) ) OR ( ( B."ID_ae" = 66 ) AND ( B."ID" = 71 ) ) ) OR ( ( B."ID_ae" = 69 ) AND ( B."ID" = 61 ) ) ) OR ( ( B."ID_ae" = 70 ) AND ( B."ID" = 64 ) ) ) OR ( ( B."ID_ae" = 72 ) AND ( B."ID" = 64 ) ) ) OR ( ( B."ID_ae" = 73 ) AND ( B."ID" = 70 ) ) ) OR ( ( B."ID_ae" = 79 ) AND ( B."ID" = 71 ) ) ) OR ( ( B."ID_ae" = 80 ) AND ( B."ID" = 70 ) ) ) OR ( ( B."ID_ae" = 81 ) AND ( B."ID" = 58 ) ) ) OR ( ( B."ID_ae" = 82 ) AND ( B."ID" = 59 ) ) ) OR ( ( B."ID_ae" = 83 ) AND ( B."ID" = 64 ) ) ) OR ( ( B."ID_ae" = 84 ) AND ( B."ID" = 65 ) ) ) OR ( ( B."ID_ae" = 85 ) AND ( B."ID" = 58 ) ) ) OR ( ( B."ID_ae" = 86 ) AND ( B."ID" = 59 ) ) ) OR ( ( B."ID_ae" = 87 ) AND ( B."ID" = 60 ) ) ) OR ( ( B."ID_ae" = 88 ) AND ( B."ID" = 65 ) ) ) OR ( ( B."ID_ae" = 89 ) AND ( B."ID" = 53 ) ) ) OR ( ( B."ID_ae" = 90 ) AND ( B."ID" = 64 ) ) ) OR ( ( B."ID_ae" = 92 ) AND ( B."ID" = 69 ) ) ) OR ( ( B."ID_ae" = 93 ) AND ( B."ID" = 60 ) ) ) OR ( ( B."ID_ae" = 94 ) AND ( B."ID" = 65 ) ) ) OR ( ( B."ID_ae" = 95 ) AND ( B."ID" = 65 ) ) ) OR ( ( B."ID_ae" = 96 ) AND ( B."ID" = 65 ) ) ) OR ( ( B."ID_ae" = 97 ) AND ( B."ID" = 65 ) ) ) OR ( ( B."ID_ae" = 98 ) AND ( B."ID" = 65 ) ) ) OR ( ( B."ID_ae" = 99 ) AND ( B."ID" = 59 ) ) ) OR ( ( B."ID_ae" = 100 ) AND ( B."ID" = 63 ) ) ) OR ( ( B."ID_ae" = 101 ) AND ( B."ID" = 58 ) ) ) OR ( ( B."ID_ae" = 102 ) AND ( B."ID" = 53 ) ) ) OR ( ( B."ID_ae" = 103 ) AND ( B."ID" = 65 ) ) ) OR ( ( B."ID_ae" = 104 ) AND ( B."ID" = 55 ) ) ) OR ( ( B."ID_ae" = 105 ) AND ( B."ID" = 67 ) ) ) OR ( ( B."ID_ae" = 106 ) AND ( B."ID" = 68 ) ) ) OR ( ( B."ID_ae" = 107 ) AND ( B."ID" = 71 ) ) ) OR ( ( B."ID_ae" = 110 ) AND ( B."ID" = 65 ) ) ) OR ( ( B."ID_ae" = 111 ) AND ( B."ID" = 71 ) ) ) OR ( ( B."ID_ae" = 112 ) AND ( B."ID" = 5 ) ) ) OR ( ( B."ID_ae" = 113 ) AND ( B."ID" = 53 ) ) )
This ticket is related to: Related to ticket http://trac.osgeo.org/fdo/ticket/367.
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

