Ticket #6060: sql_query.patch
File sql_query.patch, 2.6 KB (added by , 17 years ago) |
---|
-
mythtv/programs/mythbackend/mainserver.h
133 133 void HandleSetBookmark(QStringList &tokens, PlaybackSock *pbs); 134 134 void HandleSettingQuery(QStringList &tokens, PlaybackSock *pbs); 135 135 void HandleSetSetting(QStringList &tokens, PlaybackSock *pbs); 136 void HandleSqlQuery(QStringList &slist, PlaybackSock *pbs); 136 137 void HandleVersion(MythSocket *socket, QString version); 137 138 void HandleBackendRefresh(MythSocket *socket); 138 139 void HandleQueryLoad(PlaybackSock *pbs); -
mythtv/programs/mythbackend/mainserver.cpp
572 572 else 573 573 HandleSetSetting(tokens, pbs); 574 574 } 575 else if (command == "SQL_QUERY") 576 { 577 if (listline.size() != 2) 578 VERBOSE(VB_IMPORTANT, "Bad SQL_QUERY request"); 579 else 580 HandleSqlQuery(listline, pbs); 581 } 575 582 else if (command == "ALLOW_SHUTDOWN") 576 583 { 577 584 if (tokens.size() != 1) … … 3648 3655 return; 3649 3656 } 3650 3657 3658 3659 /** 3660 * \addingroup myth_network_protocol 3661 * \par SQL_QUERY \e query 3662 * The \e query parameter is the SQL query 3663 * Returns results 3664 */ 3665 void MainServer::HandleSqlQuery(QStringList &slist, PlaybackSock *pbs) 3666 { 3667 MythSocket *pbssock = pbs->getSocket(); 3668 QString querystr = slist[1]; 3669 3670 MSqlQuery query(MSqlQuery::InitCon()); 3671 3672 query.prepare(querystr); 3673 3674 QStringList outputlist; 3675 3676 if (!query.exec() || !query.isActive()) 3677 { 3678 MythDB::DBError("HandleSqlQuery", query); 3679 outputlist << "-1"; 3680 outputlist << query.lastError().text(); 3681 } 3682 else 3683 { 3684 if (query.isSelect()) 3685 { 3686 outputlist << QString::number(query.size()); 3687 while (query.next()) 3688 { 3689 for (int i = 0; query.value(i).isValid(); i++) 3690 outputlist << query.value(i).toString(); 3691 } 3692 } 3693 else 3694 { 3695 outputlist << QString::number(query.numRowsAffected()); 3696 } 3697 } 3698 3699 SendResponse(pbssock, outputlist); 3700 } 3701 3702 3651 3703 void MainServer::HandleFileTransferQuery(QStringList &slist, 3652 3704 QStringList &commands, 3653 3705 PlaybackSock *pbs)