private function processLengthScale($intTypmod, $strName)
 {
     // Define the return array
     $arrRetVal = array('length' => null, 'scale' => null);
     // Some datatypes don't have a Typmod
     if ($intTypmod == -1) {
         return $arrRetVal;
     }
     // if ($intTypmod == -1)
     // Numeric Datatype?
     if ($strName == PgSQLTypes::getNativeType(CreoleTypes::NUMERIC)) {
         $intLen = $intTypmod - 4 >> 16;
         $intPrec = $intTypmod - 4 & 0xffff;
         $intLen = sprintf("%ld", $intLen);
         if ($intPrec) {
             $intPrec = sprintf("%ld", $intPrec);
         }
         // if ($intPrec)
         $arrRetVal['length'] = $intLen;
         $arrRetVal['scale'] = $intPrec;
     } elseif ($strName == PgSQLTypes::getNativeType(CreoleTypes::TIME) || $strName == 'timetz' || $strName == PgSQLTypes::getNativeType(CreoleTypes::TIMESTAMP) || $strName == 'timestamptz' || $strName == 'interval' || $strName == 'bit') {
         $arrRetVal['length'] = sprintf("%ld", $intTypmod);
     } else {
         $arrRetVal['length'] = sprintf("%ld", $intTypmod - 4);
     }
     // else
     return $arrRetVal;
 }