diff --git a/ChangeLog b/ChangeLog index 420a7ac7..8134ca49 100644 --- a/ChangeLog +++ b/ChangeLog @@ -22636,3 +22636,10 @@ parts of the URL provided to the 'url' parameter. 2021-12-03 Fred Gleason * Added a 'ListCart()' method to the 'rivwebpyapi' API. +2021-12-03 Fred Gleason + * Fixed a regression in 'RDCart::xml()' that caused a SQL error + to be generated. +2021-12-03 Fred Gleason + * Fixed a SQL escaping bug in 'lib/export_resultsrecon.cpp'. + * Fixed a SQL escaping bug in 'lib/rdlibrarymodel.cpp'. + * Fixed a SQL escaping bug in 'rdlibrary/rdlibrary.cpp'. diff --git a/lib/export_resultsrecon.cpp b/lib/export_resultsrecon.cpp index faab66bf..7bf542fd 100644 --- a/lib/export_resultsrecon.cpp +++ b/lib/export_resultsrecon.cpp @@ -54,7 +54,7 @@ bool RDReport::ExportResultsReport(const QString &filename, "`ELR_LINES`.`ARTIST`,"+ // 06 "`ELR_LINES`.`EXT_START_TIME` "+ // 07 "from `ELR_LINES` left join `CART` "+ - "on `ELR_LINES`.`CART_NUMBER`=`CART.NUMBER` where "+ + "on `ELR_LINES`.`CART_NUMBER`=`CART`.`NUMBER` where "+ "`SERVICE_NAME`='"+RDEscapeString(mixtable)+"' "+ "order by `EVENT_DATETIME`"; q=new RDSqlQuery(sql); diff --git a/lib/rdcart.cpp b/lib/rdcart.cpp index 5dacc70f..900e26ba 100644 --- a/lib/rdcart.cpp +++ b/lib/rdcart.cpp @@ -1029,9 +1029,10 @@ QString RDCart::xml(bool include_cuts,bool absolute, RDSettings *settings,int cutnum) const { QString sql=RDCart::xmlSql(include_cuts)+ - QString::asprintf(" where (`CART.NUMBER`=%u)",cart_number); + QString::asprintf(" where (`CART`.`NUMBER`=%u)",cart_number); if(cutnum>=0) { - sql+=QString("&&(`CUT_NAME`=\"")+RDCut::cutName(cart_number,cutnum)+"\")"; + sql+=QString("&&(`CUTS`.`CUT_NAME`=\"")+ + RDCut::cutName(cart_number,cutnum)+"\")"; } RDSqlQuery *q=new RDSqlQuery(sql); QString xml=RDCart::xml(q,include_cuts,absolute,settings); diff --git a/lib/rdlibrarymodel.cpp b/lib/rdlibrarymodel.cpp index d182574d..73087b0c 100644 --- a/lib/rdlibrarymodel.cpp +++ b/lib/rdlibrarymodel.cpp @@ -437,7 +437,7 @@ QModelIndex RDLibraryModel::addCart(unsigned cartnum) QString sql=sqlFields()+ "where "+ - QString::asprintf("CART.NUMBER=%u",cartnum); + QString::asprintf("`CART`.`NUMBER`=%u",cartnum); RDSqlQuery *q=new RDSqlQuery(sql); if(q->first()) { updateRow(offset,q); diff --git a/rdlibrary/rdlibrary.cpp b/rdlibrary/rdlibrary.cpp index 996c9a69..bfb7a7a5 100644 --- a/rdlibrary/rdlibrary.cpp +++ b/rdlibrary/rdlibrary.cpp @@ -691,7 +691,7 @@ void MainWidget::notificationReceivedData(RDNotification *notify) unsigned cartnum=notify->id().toUInt(); switch(notify->action()) { case RDNotification::AddAction: - and_fields.push_back(QString::asprintf("CART.NUMBER=%u",cartnum)); + and_fields.push_back(QString::asprintf("`CART`.`NUMBER`=%u",cartnum)); sql=QString("select ")+ "`CART`.`NUMBER` "+ // 00 "from `CART` "+