sudo apt-get install build-essential \
libgc-dev \
libselinux-dev \
libzstd-dev \
liblz4-dev \
libxslt-dev \
libpam-dev \
libz-dev \
libreadline-dev \
CREATE OR REPLACE FUNCTION table_rows(tables text[])
RETURNS TABLE (table_name text, count bigint) AS $$
DECLARE
query text := '';
BEGIN
FOR i IN 1..array_length(tables, 1) LOOP
query := query || format('SELECT %L as table_name, count(*) from %s', tables[i], tables[i]);
IF i < array_length(tables, 1) THEN
query := query || ' union all ';
-- Usage: SELECT truncate_all_tables_in_schemas(ARRAY['schema1', 'schema2', 'schema3']);
CREATE OR REPLACE FUNCTION truncate_all_tables_in_schemas(schema_names text[]) RETURNS void AS $$
DECLARE
schema_name text;
table_name text;
BEGIN
FOREACH schema_name IN ARRAY schema_names
LOOP
FOR table_name IN (SELECT tablename FROM pg_tables WHERE schemaname = schema_name)
-- This function increases the DB size upto `minimum_db_size` by cloning the `source_schema` into a new name `dest_schema_<dynamic_count>`
CREATE OR REPLACE FUNCTION increase_db_size_upto(source_schema text, dest_schema text, minimum_db_size int, multiplier_factor int)
RETURNS void AS
$BODY$
DECLARE
objeto record;
buffer text;
db_size int;
schema_count int;
STEP 1: When AddSymbol() is called
----------------------------------------
alenblen;label_name_1;label_value_1;label_name_2;label_name_3;label_value_2;label_value_3;
remarks: "alenblen" is the space reserved for symbol table metadata, like size of the symbol table, and number of symbols.
This is overwritten in the finishSymbol().
STEP 2: When finishSymbol() is called
----------------------------------------
sudo apt update
sudo apt-get install gcc -y
wget -c https://dl.google.com/go/go1.17.4.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.profile
source ~/.profile
go version
NewerOlder