id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 21203,"Potential data corruption issue with Oracle and Mysql due to SQLCompiler.resolve_columns row, fields misalignment when using defer and select_related",Michael Manfre,nobody,"SQLCompiler.resolve_columns fields, values are misaligned with defer and select_related. Same data corruption issue as reported/fixed by issue #21126. Given: {{{ class Parent(models.Model): parentid = models.AutoField(primary_key=True) parent_bool = models.BooleanField(default=True) created = models.DateTimeField(auto_now=True) class Child(models.Model): childid = models.AutoField(primary_key=True) parent = models.ForeignKey(Parent) }}} The following query {{{ p = Parent.objects.create(parent_bool=True) c = Child.objects.create(parent=p) qs = Child.objects.all().select_related('parent').defer('parent__parent_bool') }}} will result in this field misalignment {{{ field= value=1 field= value=1 field= value=1 field= value=datetime.datetime(2013, 9, 30, 19, 59, 41, 490000, tzinfo=) field= value=None }}} '''parent_bool''' should have been removed from fields, but it was not because '''results_iter''' doesn't properly compare the '''only_load''' fields to the correct '''db_table'''^1^. ^1^ https://github.com/django/django/blob/master/django/db/models/sql/compiler.py#L716",Bug,closed,"Database layer (models, ORM)",1.5,Release blocker,fixed,,Anssi Kääriäinen,Ready for checkin,0,0,0,0,0,0