diff options
author | Xuehai Pan <XuehaiPan@pku.edu.cn> | 2023-03-30 11:48:13 +0000 |
---|---|---|
committer | Xuehai Pan <XuehaiPan@pku.edu.cn> | 2023-03-30 11:48:13 +0000 |
commit | 8dfec6dc19f17072e6eb6a45380bfce29a8a0ae6 (patch) | |
tree | f43121fb11680d64afbc215bf39fe13c7fdcd160 | |
parent | 68b8099aef54552f0691fd393856525bd3beb0ed (diff) |
Pretty format SQL query
-rwxr-xr-x | ranger/data/scope.sh | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/ranger/data/scope.sh b/ranger/data/scope.sh index ebcd9626..cc2abb56 100755 --- a/ranger/data/scope.sh +++ b/ranger/data/scope.sh @@ -335,9 +335,12 @@ handle_mime() { sqlite3 "file:${FILE_PATH}?mode=ro" "${1}" -header -column } ## Display basic table information - sqlite_rowcount_query="$( sqlite3 "file:${FILE_PATH}?mode=ro" -noheader \ - 'SELECT (group_concat("SELECT """ || name || """ AS tblname, count(*) AS rowcount FROM " || name, " UNION ALL ")) - FROM sqlite_master WHERE type="table" AND name NOT LIKE "sqlite_%";' )" + sqlite_rowcount_query="$( + sqlite3 "file:${FILE_PATH}?mode=ro" -noheader \ + 'SELECT ( + group_concat("SELECT """ || name || """ AS tblname, count(*) AS rowcount FROM " || name, " UNION ALL ") + ) FROM sqlite_master WHERE type="table" AND name NOT LIKE "sqlite_%";' + )" sqlite_show_query \ 'SELECT tblname AS "table", rowcount AS "count", ( @@ -349,7 +352,7 @@ handle_mime() { FROM pragma_table_info(tblname) ) AS "types" FROM '"(${sqlite_rowcount_query});" - if [ "$SQLITE_TABLE_LIMIT" -gt 0 ] && [ "$SQLITE_ROW_LIMIT" -ge 0 ]; then + if [ "${SQLITE_TABLE_LIMIT}" -gt 0 ] && [ "${SQLITE_ROW_LIMIT}" -ge 0 ]; then ## Do exhaustive preview echo; printf '>%.0s' $( seq "${PV_WIDTH}" ); echo sqlite3 "file:${FILE_PATH}?mode=ro" -noheader \ @@ -358,7 +361,9 @@ handle_mime() { sqlite_table_rowcount="$( sqlite3 "file:${FILE_PATH}?mode=ro" -noheader "SELECT count(*) FROM ${sqlite_table}" )" echo; echo "${sqlite_table}[${sqlite_table_rowcount}]:" sqlite_table_query="SELECT * FROM ${sqlite_table};" - [ "$SQLITE_ROW_LIMIT" -gt 0 ] && sqlite_table_query="SELECT * FROM ${sqlite_table} LIMIT ${SQLITE_ROW_LIMIT} OFFSET (${sqlite_table_rowcount} - ${SQLITE_ROW_LIMIT});" + if [ "${SQLITE_ROW_LIMIT}" -gt 0 ]; then + sqlite_table_query="SELECT * FROM ${sqlite_table} LIMIT ${SQLITE_ROW_LIMIT} OFFSET (${sqlite_table_rowcount} - ${SQLITE_ROW_LIMIT});" + fi sqlite_show_query "${sqlite_table_query}" done fi |