cubicweb/pyramid/debug_toolbar_templates/sql.dbtmako
author Simon Chabot <simon.chabot@logilab.fr>
Thu, 12 Mar 2020 15:38:51 +0100
changeset 12930 665f66e57fc6
parent 12777 7c4216ed7497
permissions -rw-r--r--
[debugtoolbar] Make SQL and RQL tables sortable It's usefull to sort query by duration for instance.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12930
665f66e57fc6 [debugtoolbar] Make SQL and RQL tables sortable
Simon Chabot <simon.chabot@logilab.fr>
parents: 12777
diff changeset
     1
<table id="sql-table" class="pDebugSortable table table-striped table-condensed">
12765
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
     2
    <thead>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
     3
        <tr>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
     4
            <th class="table-col-index">#</th>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
     5
            <th class="table-col-time">Time (ms)</th>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
     6
            <th class="table-col-sql">SQL</th>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
     7
            <th class="table-col-rollback">Rollback?</th>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
     8
            <th class="table-col-from-rql">From RQL</th>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
     9
            <th class="table-col-stack">Stack</th>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    10
        </tr>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    11
    </thead>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    12
    <tbody>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    13
        % for i, query in enumerate(sql_queries):
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    14
            <tr>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    15
                <th class="table-col-index">${1 + i}</th>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    16
                <td class="table-col-time">${'%.2f' % query["time"]}</td>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    17
                <td class="table-col-sql">${highlight(query["sql"], "SQL") | n}<br>${highlight(query["args"], "python3") | n}</td>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    18
                <td class="table-col-rollback">${query["rollback"]}</td>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    19
                <td class="table-col-from-rql">
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    20
                    % if query["from_rql_query"]:
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    21
                        ${highlight(query["from_rql_query"]["rql"], "rql") | n}
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    22
                    % else:
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    23
                        <i>standalone query</i>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    24
                    % endif
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    25
                </td>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    26
                <td class="table-col-stack">
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    27
                    <button class="btn btn-default" id="sql-toggle-stack-${i}" onclick="javascript:toggle_sql_stack(${i})">show stack</a>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    28
                </td>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    29
            </tr>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    30
            <tr style="display: none" id="sql-stack-${i}">
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    31
                <td colspan="6">
12777
7c4216ed7497 [debug-toolbar/display_source_code] add links to files in tracebacks
Laurent Peuch <cortex@worlddomination.be>
parents: 12765
diff changeset
    32
                    <pre>${source_code_url_in_stack(highlight(query["callstack"], "py3tb", linenos="inline"), highlighted=has_pygments) | n}</pre>
12765
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    33
                </td>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    34
            </tr>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    35
            <tr style="display: none"></tr> <!-- css hack because of previous hidden tr for -stripped -->
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    36
        % endfor
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    37
    </tbody>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    38
</table>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    39
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    40
<script type="text/javascript" charset="utf-stack">
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    41
    function toggle_sql_stack(stack_id) {
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    42
        var stack = document.getElementById("sql-stack-" + stack_id);
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    43
        var button = document.getElementById("sql-toggle-stack-" + stack_id);
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    44
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    45
        // stack is hidden, display it
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    46
        if (stack.style.getPropertyValue("display") == "none") {
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    47
            stack.style.setProperty("display", "table-row");
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    48
            button.innerHTML = "hide stack"
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    49
        } else {
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    50
            stack.style.setProperty("display", "none");
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    51
            button.innerHTML = "show stack"
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    52
        }
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    53
    }
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    54
</script>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    55
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    56
<style>
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    57
#sql-table {
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    58
    table-layout: fixed;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    59
}
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    60
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    61
#sql-table .table-col-index {
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    62
    text-align: right;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    63
    width: 30px;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    64
}
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    65
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    66
#sql-table .table-col-time {
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    67
    white-space: nowrap;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    68
    width: 73px;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    69
    text-align: center;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    70
}
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    71
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    72
#sql-table .table-col-rollback {
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    73
    white-space: nowrap;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    74
    width: 73px;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    75
    text-align: center;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    76
}
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    77
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    78
#sql-table .table-col-stack {
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    79
    padding: 8px;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    80
    width: 110px;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    81
    text-align: center;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    82
}
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    83
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    84
${generate_css() | n}
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    85
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    86
.highlight > pre {
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    87
    word-break: unset;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    88
    border: none;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    89
    margin: 0;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    90
    padding: 0;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    91
    background-color: unset;
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    92
}
771c99f16780 [debug-toolbar] add sql panel
Laurent Peuch <cortex@worlddomination.be>
parents:
diff changeset
    93
</style>