From 612a63ef32c2218964af350a8ee9cd61503b02f7 Mon Sep 17 00:00:00 2001 From: Patrick Linstruth Date: Tue, 13 Nov 2018 18:47:34 -0800 Subject: [PATCH] Scheduler optimization --- ChangeLog | 2 ++ lib/rdcart_search_text.cpp | 3 ++- lib/rdevent_line.cpp | 16 ++++++++++------ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6b4e6877..a0ddd5c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18011,3 +18011,5 @@ * Added a 'CART_SCHED_CODES' table to the database. * Removed 'SCHED_CODES' field from 'CART' * Incremented the database version to 299. +2018-11-13 Patrick Linstruth + * Scheduler optimization diff --git a/lib/rdcart_search_text.cpp b/lib/rdcart_search_text.cpp index 59941c1f..52133ed6 100644 --- a/lib/rdcart_search_text.cpp +++ b/lib/rdcart_search_text.cpp @@ -1,6 +1,7 @@ // rdcart_search_text.cpp // -// Generates a standardized SQL 'WHERE' clause for filtering Rivendell carts. +// Generates a standardized SQL 'INNER JOIN' and 'WHERE' clause for +// filtering Rivendell carts. // // (C) Copyright 2002-2004,2016 Fred Gleason // diff --git a/lib/rdevent_line.cpp b/lib/rdevent_line.cpp index 5e2ba6b1..9e5c24be 100644 --- a/lib/rdevent_line.cpp +++ b/lib/rdevent_line.cpp @@ -594,8 +594,11 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname, sql=QString("select ")+ "NUMBER,"+ - "ARTIST "+ - "from CART where "+ + "ARTIST, "+ + "SCHED_CODE "+ + "from CART "+ + "left join CART_SCHED_CODES on CART.NUMBER=CART_SCHED_CODES.CART_NUMBER "+ + "where "+ "GROUP_NAME=\""+RDEscapeString(SchedGroup())+"\""; q=new RDSqlQuery(sql); if(q->size()>0) @@ -612,13 +615,14 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname, int querysize=(int)q->size(); SchedCartList *schedCL; schedCL=new SchedCartList(querysize); - + + QString schedcode; for(counter=0;counterseek(counter); - RDCart *cart=new RDCart(q->value(0).toUInt()); - schedCL->insertItem(q->value(0).toUInt(),0,0,q->value(1).toString(),cart->schedCodes()); - delete cart; + schedcode=q->value(2).toString()+" "; + schedcode=schedcode.left(11); + schedCL->insertItem(q->value(0).toUInt(),0,0,q->value(1).toString(),schedcode); } delete q;