#!/bin/bash
#< Script to display an item from my personal MySQL notes database

AWK="/usr/bin/awk"
BASENAME="/usr/bin/basename"
ECHO="/bin/echo"
MYSQL="/usr/local/mysql/bin/mysql"
RM="/bin/rm"
SED="/usr/bin/sed"

DB_NAME="notesdb"
DB_USER="notesuser"
DB_PASS="password"
THIS_PROG=$( ${BASENAME} $0 )
QUERY_TMP="query.sql"

function print_error {
   ${ECHO} "Error: $@" >&2
}

function print_usage {
   {
      ${ECHO} "Usage: ${THIS_PROG} id"
   } >&2
}


function prepare_query {
   QUERY_STRING="SELECT id,subject,text FROM notes_table WHERE id = '${QUERY}';"
   ${ECHO} "${QUERY_STRING}" > ${QUERY_TMP}
}

function execute_query {
  RESULTSET=$( ${MYSQL} -t -u ${DB_USER} --password=${DB_PASS} ${DB_NAME} <  ${QUERY_TMP} | ${SED} '1,3d' | ${SED} '$d' | ${SED} '$d' )
  HEADER=$( ${ECHO} "${RESULTSET}" | ${SED} -n '1p' )
  CONTENT=$( ${ECHO} "${RESULTSET}" | ${SED} '1d' )
  ID=$( ${ECHO} "${HEADER}" | ${AWK} '{print $2}' )
  SUBJECT=$( ${ECHO} "${HEADER}" | ${AWK} '{print $4}' )
  ${ECHO} "ID:      ${ID}"
  ${ECHO} "SUBJECT: ${SUBJECT}"
  ${ECHO} "CONTENT:"
  ${ECHO} "${CONTENT}"
}

if [ "$#" -ne "1" ]; then
   print_usage && exit 1
fi

QUERY=$1
prepare_query
execute_query
${RM} -f ${QUERY_TMP}

exit 0