| 910 | } |
| 911 | |
| 912 | std::string EmbeddedShell::printHtmlExecutionResult(QueryResult& queryResult) const { |
| 913 | auto colNames = queryResult.getColumnNames(); |
| 914 | auto& pHtmlPrinter = printer->constCast<HTMLPrinter>(); |
| 915 | std::string printString = pHtmlPrinter.TableOpen; |
| 916 | printString += "\n"; |
| 917 | printString += pHtmlPrinter.RowOpen; |
| 918 | printString += "\n"; |
| 919 | for (auto i = 0u; i < queryResult.getNumColumns(); i++) { |
| 920 | printString += pHtmlPrinter.HeaderOpen; |
| 921 | printString += escapeHtmlString(colNames[i]); |
| 922 | printString += pHtmlPrinter.HeaderClose; |
| 923 | } |
| 924 | printString += "\n"; |
| 925 | printString += pHtmlPrinter.RowClose; |
| 926 | printString += "\n"; |
| 927 | while (queryResult.hasNext()) { |
| 928 | if (printInterrupted) { |
| 929 | return std::string(); |
| 930 | } |
| 931 | auto tuple = queryResult.getNext(); |
| 932 | printString += pHtmlPrinter.RowOpen; |
| 933 | printString += "\n"; |
| 934 | for (auto i = 0u; i < queryResult.getNumColumns(); i++) { |
| 935 | printString += pHtmlPrinter.CellOpen; |
| 936 | printString += escapeHtmlString(tuple->getValue(i)->toString()); |
| 937 | printString += pHtmlPrinter.CellClose; |
| 938 | } |
| 939 | printString += pHtmlPrinter.RowClose; |
| 940 | printString += "\n"; |
| 941 | } |
| 942 | printString += pHtmlPrinter.TableClose; |
| 943 | printString += "\n"; |
| 944 | return printString; |
| 945 | } |
| 946 | |
| 947 | std::string escapeLatexString(const std::string& str) { |
| 948 | std::ostringstream escaped; |
nothing calls this directly
no test coverage detected