docs: @Override
      public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException
      {
          checkParameterBounds(parameterIndex);
          switch(targetSqlType)
          {
              case Types.TINYINT:
                  setByte(parameterIndex, ((Byte)x).byteValue());
                  break;
              case Types.SMALLINT:
                  setShort(parameterIndex, ((Short)x).shortValue());
                  break;
              case Types.INTEGER:
                  setInt(parameterIndex, ((Integer)x).intValue());
                  break;
              case Types.BIGINT:
                  setLong(parameterIndex, ((Long)x).longValue());
                  break;
              case Types.DOUBLE:
                  setDouble(parameterIndex, ((Double)x).doubleValue());
                  break;
              case Types.DECIMAL:
                  setBigDecimal(parameterIndex, (BigDecimal)x);
                  break;
              case Types.TIMESTAMP:
                  setTimestamp(parameterIndex, (Timestamp)x);
                  break;
              case Types.VARBINARY:
              case Types.VARCHAR:
              case Types.NVARCHAR:
                  setString(parameterIndex, (String)x);
                  break;
              case Types.OTHER:
                  setObject(parameterIndex, x);
                  break;
              default:
                  throw SQLError.get(SQLError.ILLEGAL_ARGUMENT);
          }
      }