void setObject(Object parameterIndex, Object value) throws SQLException { if (parameterIndex instanceof String) { String s = (String)parameterIndex; if (paramsByName == null) { paramsByName = new TreeMap<String, Integer>(String.CASE_INSENSITIVE_ORDER); ParameterMetaDataImpl pmdi = getParameterMetaData(); for (int i = 1; i <= pmdi.getParameterCount(); i++) { String name = pmdi.getParameterName(i); paramsByName.put(name, i); } } parameterIndex = paramsByName.get(s); if (parameterIndex == null) { throw new TeiidSQLException(JDBCPlugin.Util.getString("MMCallableStatement.Param_not_found", s)); //$NON-NLS-1$ } } if ((Integer)parameterIndex < 1) { throw new TeiidSQLException(JDBCPlugin.Util.getString("MMPreparedStatement.Invalid_param_index")); //$NON-NLS-1$ } if(parameterMap == null){ parameterMap = new TreeMap<Integer, Object>(); } if (serverCalendar != null && value instanceof java.util.Date) { value = TimestampWithTimezone.create((java.util.Date)value, getDefaultCalendar().getTimeZone(), serverCalendar, value.getClass()); } parameterMap.put((Integer)parameterIndex, value); }
void setObject(Object parameterIndex, Object value) throws SQLException { if (parameterIndex instanceof String) { String s = (String)parameterIndex; if (paramsByName == null) { paramsByName = new TreeMap<String, Integer>(String.CASE_INSENSITIVE_ORDER); ParameterMetaDataImpl pmdi = getParameterMetaData(); for (int i = 1; i <= pmdi.getParameterCount(); i++) { String name = pmdi.getParameterName(i); paramsByName.put(name, i); } } parameterIndex = paramsByName.get(s); if (parameterIndex == null) { throw new TeiidSQLException(JDBCPlugin.Util.getString("MMCallableStatement.Param_not_found", s)); //$NON-NLS-1$ } } if ((Integer)parameterIndex < 1) { throw new TeiidSQLException(JDBCPlugin.Util.getString("MMPreparedStatement.Invalid_param_index")); //$NON-NLS-1$ } if(parameterMap == null){ parameterMap = new TreeMap<Integer, Object>(); } if (serverCalendar != null && value instanceof java.util.Date) { value = TimestampWithTimezone.create((java.util.Date)value, getDefaultCalendar().getTimeZone(), serverCalendar, value.getClass()); } parameterMap.put((Integer)parameterIndex, value); }
@Test public void testShowParameterMetadata() throws Exception { PreparedStatementImpl stmt = getMMPreparedStatement("show plan"); //$NON-NLS-1$ assertEquals(0, stmt.getParameterMetaData().getParameterCount()); }