Wednesday, November 15, 2017

challenges with grails unique: true

Grails does not evaluate a unique constraint at GORM level but at the database level

    static constraints = {
        property unique: true
    }

This means that you would not get a grails.validation.ValidationException but a org.springframework.dao.DataIntegrityViolationException.

This means that

domainInstance.validate()

would not capture a duplicate "property"

Wednesday, August 16, 2017

Sometimes cron runs twice

I suspected cron was running twice. I confirmed by checking the system logs

grep CRON /var/log/syslog

Then I killed cron and restarted it

sudo /etc/init.d/cron stop
sudo /etc/init.d/cron start

Wednesday, September 28, 2016

Sending mail in unix with attachment

You would need to install sharutils

sudo apt-get install sharutils

Then run this

uuencode <path_to_file> <name_to_give_attachment> | mail -s "Subject" foo@example.com

Also see http://soamweird.blogspot.com/2016/03/sending-mail-in-unix.html

Sunday, April 17, 2016

Sorting by type first then alphabetically

The script below ensures that items are sorted by type first then by alphabetical order.

The spaceship operator

Just ran into this and I thought it was really cool.

So the spaceship operator (<=>) delegates to the compareTo method:

assert (1 <=> 1) == 0
assert (1 <=> 2) == -1
assert (2 <=> 1) == 1
assert ('a' <=> 'z') == -1

For more checkout http://groovy-lang.org/operators.html