Skip to content

Commit 83aadfb

Browse files
authored
Merge pull request #2344 from drgrice1/bugfix/ambibuous-set-id-hotfix
Fix a potentially ambiguous column in SQL order by clauses (hotfix).
2 parents 0d9f5e2 + 9e7e92e commit 83aadfb

2 files changed

Lines changed: 7 additions & 4 deletions

File tree

lib/WeBWorK/ContentGenerator/Instructor/UserDetail.pm

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ WeBWorK::ContentGenerator::Instructor::UserDetail - Detailed User specific infor
2424

2525
use WeBWorK::Utils qw(x);
2626
use WeBWorK::Utils::Instructor qw(assignSetToUser);
27+
use WeBWorK::DB::Utils qw(grok_versionID_from_vsetID_sql);
2728
use WeBWorK::Debug;
2829

2930
# We use the x function to mark strings for localizaton
@@ -158,7 +159,7 @@ sub initialize ($c) {
158159
$c->{mergedVersions}{$setID} = [
159160
$db->getMergedSetVersionsWhere(
160161
{ user_id => $editForUserID, set_id => { like => "$setID,v\%" } },
161-
\q{(SUBSTRING(set_id,INSTR(set_id,',v')+2)+0)}
162+
\grok_versionID_from_vsetID_sql($db->{set_version_merged}->sql->_quote('set_id'))
162163
)
163164
];
164165
}

lib/WeBWorK/ContentGenerator/ProblemSet.pm

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ problem set.
2626
use WeBWorK::Debug;
2727
use WeBWorK::Utils qw(path_is_subdir is_restricted wwRound before between after grade_set format_set_name_display);
2828
use WeBWorK::Utils::Rendering qw(renderPG);
29+
use WeBWorK::DB::Utils qw(grok_versionID_from_vsetID_sql);
2930
use WeBWorK::Localize;
3031

3132
async sub initialize ($c) {
@@ -195,9 +196,10 @@ sub gateway_body ($c) {
195196
my $timeInterval = $set->time_interval || 0;
196197
my @versionData;
197198

198-
my @setVersions =
199-
$db->getMergedSetVersionsWhere({ user_id => $effectiveUser, set_id => { like => $set->set_id . ',v%' } },
200-
\q{(SUBSTRING(set_id,INSTR(set_id,',v')+2)+0)});
199+
my @setVersions = $db->getMergedSetVersionsWhere(
200+
{ user_id => $effectiveUser, set_id => { like => $set->set_id . ',v%' } },
201+
\grok_versionID_from_vsetID_sql($db->{set_version_merged}->sql->_quote('set_id'))
202+
);
201203

202204
for my $verSet (@setVersions) {
203205
# Count number of versions in current timeInterval

0 commit comments

Comments
 (0)