summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXuehai Pan <XuehaiPan@pku.edu.cn>2023-03-30 11:48:13 +0000
committerXuehai Pan <XuehaiPan@pku.edu.cn>2023-03-30 11:48:13 +0000
commit8dfec6dc19f17072e6eb6a45380bfce29a8a0ae6 (patch)
treef43121fb11680d64afbc215bf39fe13c7fdcd160
parent68b8099aef54552f0691fd393856525bd3beb0ed (diff)
Pretty format SQL query
-rwxr-xr-xranger/data/scope.sh15
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