Re: Re: or and combine missing
[email protected] Mon, 13 Dec 2010 11:25:35 +1000
| Newsgroups | gmane.comp.java.orm.simpleorm |
|---|---|
| Message-ID | <[email protected]> |
--=====================_1610923997==_ Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello Guenter, There is a bit of an issue in that they were rather ugly. But so are the alternatives. A cleaner way would be something like new SQuery().AddOr(SQuery.eq(...), SQuery.eq(...))... with the tree being built up explicitly rather than with the .combine/.combineEnd push/pop methods. However, note that SQuery.eq would need to be a static method, with no access to the actual query being built until the top level AddOr, which would hten have to validate it. I just thought that as queries became that complex, maybe we should defer to SQL clauses, and keep SimpleOrm simple. (One thing that might be useful is a specific isEmpty test for (? = '' OR ? IS NULL). Likewise a fieldNullEq for (? = ? OR (? IS NULL AND ? IS NULL), and fieldEmptyEq ...). To me, a bigger challenge, and the one that is very database dependent, is some function processing with dates and sub-strings for more complex queries. That certainly would be a mess with the push/pop approach. What is your use case, and does it really justify an additions? Would you be prepared to suggest a properly thought out syntax, provide examples and test cases, and possibly offer an implementation? (Not hard, but needs doing.) Regards, Anthony At 07:17 PM 11/12/2010, Guenter Wildmann wrote: > > >Hello Franck, > >In 2.x there were the .or and .combine methods. (.combine and >.combineEnd for opening bracket and closing bracket in where-condition). >If there is no design-issue for not implementing this methods, i would >like to have them back. The same with the extra_DLL possibility as i try >to use SimpleORM as 'single source of truth'. > >Ciao, Guenter > >=========================== >Hi, > >> Why are the or and combine methods missing in SimpleORM 3.x? > >No specific reason AFAIK, they are just not implemented :-) > >By combine, do you mean UNION ? > >> What is the >> best practice to use if the condition can not be created whith the >> methods available? > >You can use the rawPredicate method, or even the rawSql... > >Franck > Dr Anthony Berglas, [email protected] Mobile: +61 4 4838 8874 Just because it is possible to push twigs along the ground with ones nose does not necessarily mean that is the best way to collect firewood. ------------------------------------ Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/SimpleORM/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/SimpleORM/join (Yahoo! ID required) <*> To change settings via email: [email protected] [email protected] <*> To unsubscribe from this group, send an email to: [email protected] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/ --=====================_1610923997==_ Content-Type: image/jpeg; name="6004bf60.jpg"; x-mac-type="4A504547"; x-mac-creator="4A565752" Content-ID: <.0> Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="6004bf60.jpg" /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAPAIkDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9u/8A gqt/wT1/at8K/CHXvj3+wX+1X+2PF4y8Dy6r4q8e/A+8/aI+LHiu08deFDNPqeqzfD2O78RS6vpn iPw7Bva08KaZctb6/osUljo0EPiKCyj1fp/2df8Ago38INb/AOCZ1p8d/gZ8drX4UfEq38baZ4b8 aeDP2kLz4yftf+NLX4zalYW1nJ8IPAvhS7+J+h/FLxhP47ltLHUfhhB4b1trF7K61DUrvQotSi8U x6d+3fx2+OPw1/Zt+FHjD41/F/W5/Dnw58CWNvqPibWrbSNX16extbu/tNMgePSdCstQ1W8aS9vb aHZaWczKJDI4WJHdf4Zv2Pv2x/2Afg9/wWT/AGkv2t/GEdnoP7NXimD4ha78CddHwt17VB4d8eeL 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 AA5n/Yt/6B/xT/8ADna5/wDEUAf/2Q== --=====================_1610923997==_--