Hi Gareth, thanks for the explanation. The part about the 1, 2, 4, 8 step I get.. but to me those would still be integers.. albeit not continuous. I guess I am just not familiar with the bit datatype and how it is used.
If you don't mind me asking, what database storage type does this use? Thanks, Daniel On Apr 29, 2:38 pm, Gareth McCumskey <[email protected]> wrote: > If you used just integers then you wouldn't be able to work backwards from > the totalled number. For example: > > - is_low_socring = 1 > - is_high_scoring = 2 > - is_virus = 3 > - is_badcontent = 4 > > If I had something that was just bad content it would be a 4. But If I had > something that was low_scoring and a virus it would also be 4... hmmm. But > if I use binary... > > - is_low_socring = 1 > - is_high_scoring = 2 > - is_virus = 4 > - is_badcontent = 8 > > ONLY bad_content can be an 8, only low_scoring AND virus can be a 5 .. etc > etc. > > Hope that helps > > > > On Wed, Apr 29, 2009 at 6:01 PM, Richtermeister <[email protected]> wrote: > > > Hi Gareth, > > > I just read your blog entry on that subject, and I have to admit that > > it never occurred to me to use bits to store multiple flags in one > > column. I like it! :) Thanks. > > > My question, if I may, is why the classification column is not just an > > integer? What is the Criteria::BINARY_AND for? > > > Thanks for enlightening me :) > > Have a great day. > > Daniel > > > On Apr 29, 1:09 am, Gareth McCumskey <[email protected]> wrote: > > > Hi all, > > > > I need the great minds that populate this liust to assist me with a small > > > dilema. We currently use an integer field that stores a range of values > > as a > > > bitwise number depending on certain criteria of an item stored in the db. > > > What we want to do now is write a sql query like: > > > > SELECT [columns] FROM [tablename] WHERE classification & 1 AND > > > classification & ~2 > > > > I am struggling to find the negation (~) operator as part of the criteria > > > syntax. So far I have: > > > > $status_criterion = $c->getNewCriterion(MailDetailsPeer::CLASSIFICATION, > > 1, > > > Criteria::BINARY_AND); > > > $status_criterion->addAnd($c->getNewCriterion(MailDetailsPeer::CLASSIFICATION, > > > 2 , Criteria::BINARY_AND)); > > > > As you can see I have no negation on the second-line because I do not > > know > > > how I should do that. There aren't any obvious options as part of Propel. > > > > ANy help would be appreciated guys :) > > > > -- > > > Gareth McCumskeyhttp://garethmccumskey.blogspot.com > > > twitter: @garethmcc > > -- > Gareth McCumskeyhttp://garethmccumskey.blogspot.com > twitter: @garethmcc --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en -~----------~----~----~----~------~----~------~--~---
