Author Archives: ronaldpringadi

Print call stack in Java from anywhere

1 LOG.trace(ExceptionUtils.getStackTrace(new Throwable()));

Posted in java | Leave a comment

Check which database object depends on (has reference to) your table

12345678910111213141516SELECT R.TABLE_NAME FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE u INNER JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS FK     ON U.CONSTRAINT_CATALOG = FK.UNIQUE_CONSTRAINT_CATALOG     AND U.CONSTRAINT_SCHEMA = FK.UNIQUE_CONSTRAINT_SCHEMA     AND U.CONSTRAINT_NAME = FK.UNIQUE_CONSTRAINT_NAME INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE R     ON R.CONSTRAINT_CATALOG = FK.CONSTRAINT_CATALOG     AND … Continue reading

Posted in Database, PostgreSQL | Leave a comment

Postgres function to devide-and-conquer (iterate) your big query

Create a postgres function to devide-and-conquer (iterate) your big query 1234567891011121314151617181920212223242526272829303132333435363738394041TRUNCATE TABLE YOUR_NEW_BIG_TABLE; DROP FUNCTION IF EXISTS pg_iterator(); CREATE OR REPLACE FUNCTION pg_iterator()   RETURNS void AS $BODY$ DECLARE     vOffsetRecord INT;     vTotal INT;     vLimit … Continue reading

Posted in Database, PostgreSQL | Leave a comment

Crontab header

123456# minute (0-59), # |      hour (0-23), # |      |       day of the month (1-31), # |      |       |       month of the year (1-12), # … Continue reading

Posted in Bash, Linux | Leave a comment

Add user in mysql

123CREATE USER ‘YOUR_USER_NAME’@’CONNECTING_FROM_WHERE’ IDENTIFIED BY ‘THIS_USER_PASSWORD’; GRANT ALL PRIVILEGES ON *.* TO ‘YOUR_USER_NAME’@’CONNECTING_FROM_WHERE’ WITH GRANT OPTION; FLUSH PRIVILEGES;

Posted in MySQL | Leave a comment

Using grep as highlighter

1$ grep –color -E ‘^|pattern1|pattern2’ file name

Posted in Uncategorized | Leave a comment

TCL programming

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186#!/usr/bin/expect -f # TCL script. Beware whitespace matter! # To set multi-line comments do the following # set comment { #      your multi-line comment # } # ################################################### # ALL functions Start # ################################################### if {[llength $argv] == … Continue reading

Posted in Uncategorized | Leave a comment

Simple unit test is bash file

Consider the following 3 files: 1. shellTestFramework.sh 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#!/bin/bash # Copyright (c) Ronald Pringadi # Before each Test function setUpTest(){     #"Please overwrite this function on your unit test. Something that need to be done before each test"     … Continue reading

Posted in Bash | Leave a comment

Multithreading in Java using ThreadPoolExecutor

ThreadWorker is your custom class. 123456789try { ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(MAX_THREAD_SIZE); for (int i = 1; i Random randomGenerator = new Random(); executor.submit(new ThreadWorker("worker" + i, randomGenerator.nextInt(10))); LOG.info(i); } } catch (Exception e) { LOG.error("Hmm something is not right.", … Continue reading

Posted in Uncategorized | Leave a comment

Getting the caller method details using Java

12345678910 public static String getCallerClassName() {         StackTraceElement[] stElements = Thread.currentThread().getStackTrace();         for (int i=1; i<stElements.length; i++) {             StackTraceElement ste = stElements[i];             if … Continue reading

Posted in Uncategorized | Leave a comment