| 992 | } |
| 993 | |
| 994 | std::string EmbeddedShell::printLatexExecutionResult(QueryResult& queryResult) const { |
| 995 | auto colNames = queryResult.getColumnNames(); |
| 996 | auto& latexPrinter = printer->constCast<LatexPrinter>(); |
| 997 | std::string printString = latexPrinter.TableOpen; |
| 998 | printString += latexPrinter.AlignOpen; |
| 999 | for (auto i = 0u; i < queryResult.getNumColumns(); i++) { |
| 1000 | printString += latexPrinter.ColumnAlign; |
| 1001 | } |
| 1002 | printString += latexPrinter.AlignClose; |
| 1003 | printString += "\n"; |
| 1004 | printString += latexPrinter.Line; |
| 1005 | printString += "\n"; |
| 1006 | for (auto i = 0u; i < queryResult.getNumColumns(); i++) { |
| 1007 | printString += escapeLatexString(colNames[i]); |
| 1008 | if (i != queryResult.getNumColumns() - 1) { |
| 1009 | printString += latexPrinter.TupleDelimiter; |
| 1010 | } |
| 1011 | } |
| 1012 | printString += latexPrinter.EndLine; |
| 1013 | printString += "\n"; |
| 1014 | printString += latexPrinter.Line; |
| 1015 | printString += "\n"; |
| 1016 | while (queryResult.hasNext()) { |
| 1017 | if (printInterrupted) { |
| 1018 | return std::string(); |
| 1019 | } |
| 1020 | auto tuple = queryResult.getNext(); |
| 1021 | for (auto i = 0u; i < queryResult.getNumColumns(); i++) { |
| 1022 | printString += escapeLatexString(tuple->getValue(i)->toString()); |
| 1023 | if (i != queryResult.getNumColumns() - 1) { |
| 1024 | printString += latexPrinter.TupleDelimiter; |
| 1025 | } |
| 1026 | } |
| 1027 | printString += latexPrinter.EndLine; |
| 1028 | printString += "\n"; |
| 1029 | } |
| 1030 | printString += latexPrinter.Line; |
| 1031 | printString += "\n"; |
| 1032 | printString += latexPrinter.TableClose; |
| 1033 | printString += "\n"; |
| 1034 | return printString; |
| 1035 | } |
| 1036 | |
| 1037 | std::string EmbeddedShell::printLineExecutionResult(QueryResult& queryResult) const { |
| 1038 | auto colNames = queryResult.getColumnNames(); |
nothing calls this directly
no test coverage detected