========================================================= Problem description: getProcedureColumns returns NULL as PRECISION instead of 19 for a DATETIME and TIMESTAMP parameter. MySQL getProcedureColumns returns PRECISION=19. Both MairaDB and MySQL getColumns return COLUMN_SIZE=19. ========================================================= Part 1(optional). Create base table and verify getColumns Registering Driver. Making a connection to: jdbc:mariadb://lnxx64r7:3307/db999_lnxx64r6 Connection successful. MariaDB JDBC driver version: 1.5.4 con.createStatement() DROP TABLE IF EXISTS TDT CREATE TABLE TDT( I INTEGER, DT DATETIME, TS TIMESTAMP ) preparing: INSERT INTO TDT VALUES (1, '2016-10-27 13:11:11', '2016-10-27 13:11:22') executing: INSERT INTO TDT VALUES (1, '2016-10-27 13:11:11', '2016-10-27 13:11:22') committing Issuing getColumns for table TDT rst.next() returned true TABLE_CAT,TABLE_SCHEM,TABLE_NAME,COLUMN_NAME,DATA_TYPE,TYPE_NAME,COLUMN_SIZE,BUFFER_LENGTH,DECIMAL_DIGITS,NUM_PREC_RADIX,NULLABLE,REMARKS,COLUMN_DEF,SQL_DATA_TYPE,SQL_DATETIME_SUB,CHAR_OCTET_LENGTH,ORDINAL_POSITION,IS_NULLABLE,SCOPE_CATALOG,SCOPE_SCHEMA,SCOPE_TABLE,SOURCE_DATA_TYPE,IS_AUTOINCREMENT,IS_GENERATEDCOLUMN db999_lnxx64r6,null,TDT,I,4,INT,10,65535,0,10,1,,null,0,0,null,1,YES,null,null,null,null,NO,NO db999_lnxx64r6,null,TDT,DT,93,DATETIME,19,65535,null,10,1,,null,0,0,null,2,YES,null,null,null,null,NO,NO db999_lnxx64r6,null,TDT,TS,93,TIMESTAMP,19,65535,null,10,0,,CURRENT_TIMESTAMP,0,0,null,3,NO,null,null,null,null,NO,NO