You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
ColumnStore now uses standard bin/lib paths for pretty much everything. Data path is now hard-coded to /var/lib/columnstore. This patch also: * Removes v1 decompression * Removes a bunch of unneeded files * Removes COLUMNSTORE_INSTALL_DIR / $INSTALLDIR * Makes my.cnf.d work for all platforms (MCOL-3558) * Changes configcpp to use recursive mutex (fixes possible config write deadlock) * Fixes MCOL-3599 Fix regr functions, The library was installed in the wrong location * Fixes a bunch of Ubuntu packaging issues * Changes the binary names of several of the executables so as not to clash with potential executables from other packages
61 lines
1.3 KiB
Bash
Executable File
61 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#
|
|
# Estimates the row count for a given table. Uses number of extents * 8M for the estimate.
|
|
#
|
|
|
|
#
|
|
# Initialize variables.
|
|
#
|
|
|
|
if [ -z "$MYSQLCMD" ]; then
|
|
MYSQLCMD="mysql -u root"
|
|
fi
|
|
|
|
#
|
|
# Validate that there are two parameters - schema and table.
|
|
#
|
|
if [ $# -ne 2 ]; then
|
|
echo ""
|
|
echo "Reports the approximate row count for the given table."
|
|
echo ""
|
|
echo "Parameters:"
|
|
echo " Schema"
|
|
echo " Table"
|
|
fi
|
|
db=$1
|
|
table=$2
|
|
|
|
#
|
|
# Validate that the table exists.
|
|
#
|
|
sql="select count(*) from systable where \`schema\`='$db' and tablename='$table';"
|
|
count=`$MYSQLCMD calpontsys --skip-column-names -e "$sql;"`
|
|
if [ $count -le 0 ]; then
|
|
echo ""
|
|
echo "$db.$table does not exist in Columnstore."
|
|
echo ""
|
|
exit 1
|
|
fi
|
|
|
|
#
|
|
# Grab the objectid and column width for a column in the table.
|
|
#
|
|
sql="select objectid from syscolumn where \`schema\`='$db' and tablename='$table' limit 1;"
|
|
objectid=`$MYSQLCMD calpontsys --skip-column-names -e "$sql"`
|
|
sql="select columnlength from syscolumn where objectid=$objectid;"
|
|
colWidth=`$MYSQLCMD calpontsys --skip-column-names -e "$sql"`
|
|
|
|
#
|
|
# Use editem to count the extents.
|
|
#
|
|
extentCount=`editem -o $objectid | wc -l`
|
|
let extentCount-=2 # Take out the 2 extra rows for header and blank line at end.
|
|
let approximateRowCount=$extentCount*8192*1024;
|
|
|
|
echo ""
|
|
echo "Approximate row count for $db.$table is $approximateRowCount."
|
|
echo ""
|
|
|
|
exit 0
|