Ah, found that in sql_mode from my.cnf. Removing it resolved the issue. Thanks for your help Christian!
On Tuesday, March 1, 2016 at 11:41:11 AM UTC-7, Christian Hammond wrote: > > Looks like your MySQL is configured to be very strict, in a way that isn't > compatible with Django's queries. > > You'll need to figure out where ONLY_FULL_GROUP_BY is enabled in your > configuration, and turn that off. > > Christian > > -- > Christian Hammond > President/CEO of Beanbag <https://www.beanbaginc.com/> > Makers of Review Board <https://www.reviewboard.org/> > > On Tue, Mar 1, 2016 at 9:44 AM, Jason Woodrich <[email protected] > <javascript:>> wrote: > >> Sure, output is: >> >> SHOW VARIABLES LIKE 'sql_mode'; >> >> +---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+ >> | Variable_name | Value >> >> | >> >> +---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+ >> | sql_mode | >> ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION >> >> | >> >> +---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+ >> 1 row in set (0.00 sec) >> >> mysql> SELECT @@GLOBAL.sql_mode; >> >> +-----------------------------------------------------------------------------------------------------------------------------------------------------------------+ >> | @@GLOBAL.sql_mode >> >> | >> >> +-----------------------------------------------------------------------------------------------------------------------------------------------------------------+ >> | >> ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION >> >> | >> >> +-----------------------------------------------------------------------------------------------------------------------------------------------------------------+ >> 1 row in set (0.00 sec) >> >> mysql> SELECT @@SESSION.sql_mode; >> >> +-----------------------------------------------------------------------------------------------------------------------------------------------------------------+ >> | @@SESSION.sql_mode >> >> | >> >> +-----------------------------------------------------------------------------------------------------------------------------------------------------------------+ >> | >> ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION >> >> | >> >> +-----------------------------------------------------------------------------------------------------------------------------------------------------------------+ >> >> >> On Friday, February 26, 2016 at 3:27:09 PM UTC-7, Christian Hammond wrote: >>> >>> Hi Jason, >>> >>> Python version shouldn't make a difference here (though we require >>> 1.6/1.7), and those versions look good now. >>> >>> I checked again, and I may have been looking at the wrong query before. >>> Looking at our production instance of 2.5.x, we have the exact same query >>> you have, and aren't hitting this problem with MySQL. >>> >>> Please run this and send me the output: >>> >>> $ rb-site manage /path/to/site dbshell >>> SHOW VARIABLES LIKE 'sql_mode'; >>> SELECT @@GLOBAL.sql_mode; >>> SELECT @@SESSION.sql_mode; >>> >>> Christian >>> >>> -- >>> Christian Hammond >>> President/CEO of Beanbag <https://www.beanbaginc.com/> >>> Makers of Review Board <https://www.reviewboard.org/> >>> >>> On Fri, Feb 26, 2016 at 1:26 PM, Jason Woodrich <[email protected]> >>> wrote: >>> >>>> Django is 1.6.11 and MySQL-python was 1.2.3, but I upgraded to 1.2.5 >>>> and removed 1.2.3. I'm still getting the same error though. Is there a >>>> requirement for the python version? >>>> >>>> Thanks >>>> Jason >>>> >>>> >>>> On Wednesday, February 17, 2016 at 2:49:02 PM UTC-7, Christian Hammond >>>> wrote: >>>>> >>>>> Hi Jason, >>>>> >>>>> I looked into this here, and the query that's being generated on my >>>>> end is complete, containing all the GROUP BY terms. >>>>> >>>>> Can you verify the version of Django on your end? >>>>> >>>>> You might also want to try upgrading to MySQLdb-Python 1.2.5. >>>>> >>>>> Christian >>>>> >>>>> -- >>>>> Christian Hammond - [email protected] >>>>> Review Board - https://www.reviewboard.org >>>>> Beanbag, Inc. - https://www.beanbaginc.com >>>>> >>>>> On Wed, Feb 17, 2016 at 9:56 AM, Jason Woodrich <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi Christian, >>>>>> I'm using mysqld Ver 5.5.29-rel29.4 for Linux on x86_64 (Percona >>>>>> Server with XtraDB (GPL), Release rel29.4, Revision 401) >>>>>> >>>>>> Thanks, >>>>>> Jason >>>>>> >>>>>> On Monday, February 15, 2016 at 6:18:31 PM UTC-7, Christian Hammond >>>>>> wrote: >>>>>>> >>>>>>> Hi Jason, >>>>>>> >>>>>>> What version of MySQL are you running? >>>>>>> >>>>>>> Christian >>>>>>> >>>>>>> -- >>>>>>> Christian Hammond - [email protected] >>>>>>> Review Board - https://www.reviewboard.org >>>>>>> Beanbag, Inc. - https://www.beanbaginc.com >>>>>>> >>>>>>> On Mon, Feb 15, 2016 at 1:06 PM, Jason Woodrich <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Greetings, >>>>>>>> I upgraded from 1.7 to 2.5.2 today and everything seemed to go >>>>>>>> smoothly, but now when I try to access reviews I'm getting this error: >>>>>>>> >>>>>>>> 2016-02-15 21:01:54,090 - ERROR - - Exception thrown for user X at >>>>>>>> http://X/r/102/ >>>>>>>> >>>>>>>> (1055, "'reviewboard20.diffviewer_diffset.name' isn't in GROUP BY") >>>>>>>> Traceback (most recent call last): >>>>>>>> File >>>>>>>> "/usr/lib64/python2.6/site-packages/django/core/handlers/base.py", >>>>>>>> line >>>>>>>> 112, in get_response >>>>>>>> response = wrapped_callback(request, *callback_args, >>>>>>>> **callback_kwargs) >>>>>>>> File >>>>>>>> "/usr/lib/python2.6/site-packages/ReviewBoard-2.5.2-py2.6.egg/reviewboard/accounts/decorators.py", >>>>>>>> >>>>>>>> line 23, in _check >>>>>>>> return login_required(view_func)(*args, **kwargs) >>>>>>>> File >>>>>>>> "/usr/lib64/python2.6/site-packages/django/contrib/auth/decorators.py", >>>>>>>> >>>>>>>> line 22, in _wrapped_view >>>>>>>> return view_func(request, *args, **kwargs) >>>>>>>> File >>>>>>>> "/usr/lib/python2.6/site-packages/ReviewBoard-2.5.2-py2.6.egg/reviewboard/site/decorators.py", >>>>>>>> >>>>>>>> line 35, in _check >>>>>>>> return view_func(request, local_site=local_site, *args, >>>>>>>> **kwargs) >>>>>>>> File >>>>>>>> "/usr/lib/python2.6/site-packages/ReviewBoard-2.5.2-py2.6.egg/reviewboard/reviews/views.py", >>>>>>>> >>>>>>>> line 459, in review_detail >>>>>>>> diffsets = review_request.get_diffsets() >>>>>>>> File >>>>>>>> "/usr/lib/python2.6/site-packages/ReviewBoard-2.5.2-py2.6.egg/reviewboard/reviews/models/review_request.py", >>>>>>>> >>>>>>>> line 595, in get_diffsets >>>>>>>> .prefetch_related('files')) >>>>>>>> File >>>>>>>> "/usr/lib64/python2.6/site-packages/django/db/models/query.py", line >>>>>>>> 96, in >>>>>>>> __iter__ >>>>>>>> self._fetch_all() >>>>>>>> File >>>>>>>> "/usr/lib64/python2.6/site-packages/django/db/models/query.py", line >>>>>>>> 857, >>>>>>>> in _fetch_all >>>>>>>> self._result_cache = list(self.iterator()) >>>>>>>> File >>>>>>>> "/usr/lib64/python2.6/site-packages/django/db/models/query.py", line >>>>>>>> 220, >>>>>>>> in iterator >>>>>>>> for row in compiler.results_iter(): >>>>>>>> File >>>>>>>> "/usr/lib64/python2.6/site-packages/django/db/models/sql/compiler.py", >>>>>>>> line >>>>>>>> 713, in results_iter >>>>>>>> for rows in self.execute_sql(MULTI): >>>>>>>> File >>>>>>>> "/usr/lib64/python2.6/site-packages/django/db/models/sql/compiler.py", >>>>>>>> line >>>>>>>> 786, in execute_sql >>>>>>>> cursor.execute(sql, params) >>>>>>>> File >>>>>>>> "/usr/lib64/python2.6/site-packages/django/db/backends/util.py", line >>>>>>>> 53, >>>>>>>> in execute >>>>>>>> return self.cursor.execute(sql, params) >>>>>>>> File "/usr/lib64/python2.6/site-packages/django/db/utils.py", >>>>>>>> line 99, in __exit__ >>>>>>>> six.reraise(dj_exc_type, dj_exc_value, traceback) >>>>>>>> File >>>>>>>> "/usr/lib64/python2.6/site-packages/django/db/backends/util.py", line >>>>>>>> 53, >>>>>>>> in execute >>>>>>>> return self.cursor.execute(sql, params) >>>>>>>> File >>>>>>>> "/usr/lib64/python2.6/site-packages/django/db/backends/mysql/base.py", >>>>>>>> line >>>>>>>> 124, in execute >>>>>>>> return self.cursor.execute(query, args) >>>>>>>> File >>>>>>>> "/usr/lib64/python2.6/site-packages/MySQL_python-1.2.3-py2.6-linux-x86_64.egg/MySQLdb/cursors.py", >>>>>>>> >>>>>>>> line 174, in execute >>>>>>>> self.errorhandler(self, exc, value) >>>>>>>> File >>>>>>>> "/usr/lib64/python2.6/site-packages/MySQL_python-1.2.3-py2.6-linux-x86_64.egg/MySQLdb/connections.py", >>>>>>>> >>>>>>>> line 36, in defaulterrorhandler >>>>>>>> raise errorclass, errorvalue >>>>>>>> OperationalError: (1055, "'reviewboard20.diffviewer_diffset.name' >>>>>>>> isn't in GROUP BY") >>>>>>>> >>>>>>>> I did some digging and found this is the query that's being >>>>>>>> generated: >>>>>>>> >>>>>>>> SELECT `diffviewer_diffset`.`id`, `diffviewer_diffset`.`name`, >>>>>>>> `diffviewer_diffset`.`revision`, `diffviewer_diffset`.`timestamp`, >>>>>>>> `diffviewer_diffset`.`basedir`, `diffviewer_diffset`.`history_id`, >>>>>>>> `diffviewer_diffset`.`repository_id`, >>>>>>>> `diffviewer_diffset`.`diffcompat`, >>>>>>>> `diffviewer_diffset`.`base_commit_id`, >>>>>>>> `diffviewer_diffset`.`extra_data`, >>>>>>>> COUNT(`diffviewer_filediff`.`id`) AS `file_count` >>>>>>>> FROM `diffviewer_diffset` >>>>>>>> LEFT OUTER JOIN `diffviewer_filediff` ON ( >>>>>>>> `diffviewer_diffset`.`id` = `diffviewer_filediff`.`diffset_id` ) >>>>>>>> WHERE `diffviewer_diffset`.`history_id` = 93 >>>>>>>> GROUP BY `diffviewer_diffset`.`id` >>>>>>>> ORDER BY `diffviewer_diffset`.`revision` ASC, >>>>>>>> `diffviewer_diffset`.`timestamp` ASC >>>>>>>> >>>>>>>> Any thoughts? >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Jason >>>>>>>> >>>>>>>> -- >>>>>>>> Supercharge your Review Board with Power Pack: >>>>>>>> https://www.reviewboard.org/powerpack/ >>>>>>>> Want us to host Review Board for you? Check out RBCommons: >>>>>>>> https://rbcommons.com/ >>>>>>>> Happy user? Let us know! https://www.reviewboard.org/users/ >>>>>>>> --- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "reviewboard" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to [email protected]. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>>> -- >>>>>> Supercharge your Review Board with Power Pack: >>>>>> https://www.reviewboard.org/powerpack/ >>>>>> Want us to host Review Board for you? Check out RBCommons: >>>>>> https://rbcommons.com/ >>>>>> Happy user? Let us know! https://www.reviewboard.org/users/ >>>>>> --- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "reviewboard" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> -- >>>> Supercharge your Review Board with Power Pack: >>>> https://www.reviewboard.org/powerpack/ >>>> Want us to host Review Board for you? Check out RBCommons: >>>> https://rbcommons.com/ >>>> Happy user? Let us know! https://www.reviewboard.org/users/ >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "reviewboard" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >> Supercharge your Review Board with Power Pack: >> https://www.reviewboard.org/powerpack/ >> Want us to host Review Board for you? Check out RBCommons: >> https://rbcommons.com/ >> Happy user? Let us know! https://www.reviewboard.org/users/ >> --- >> You received this message because you are subscribed to the Google Groups >> "reviewboard" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- Supercharge your Review Board with Power Pack: https://www.reviewboard.org/powerpack/ Want us to host Review Board for you? Check out RBCommons: https://rbcommons.com/ Happy user? Let us know! https://www.reviewboard.org/users/ --- You received this message because you are subscribed to the Google Groups "reviewboard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
