/** * Use an instance of ArgumentResolver instead, e.g. {@link DefaultArgumentResolver} */ @Deprecated public static Object resolveArgReferences(Object arg) { return new DefaultArgumentResolver().resolveArgument(arg); }
public void testSanitizeStringEscapesSingleQuotes() { ArgumentResolver defaultArgumentResolver = new DefaultArgumentResolver(); assertEquals("'Sam''s'", SqlUtils.toSanitizedString("Sam's", defaultArgumentResolver)); }
public void testSanitizeStringUsesArgumentResolver() { ArgumentResolver argumentResolver = new DefaultArgumentResolver(); assertEquals("'APPLE'", SqlUtils.toSanitizedString(TestEnum.APPLE, argumentResolver)); assertEquals("1", SqlUtils.toSanitizedString(new AtomicBoolean(true), argumentResolver)); argumentResolver = new DefaultArgumentResolver() { @Override protected boolean canResolveCustomType(Object arg) { return arg instanceof Enum<?>; } @Override protected Object resolveCustomType(Object arg) { return ((Enum<?>) arg).ordinal(); } }; assertEquals("0", SqlUtils.toSanitizedString(TestEnum.APPLE, argumentResolver)); }
public void testBlobLiterals() { ArgumentResolver defaultArgumentResolver = new DefaultArgumentResolver(); assertEquals("X''", SqlUtils.toSanitizedString(new byte[0], defaultArgumentResolver)); assertEquals("X'94'", SqlUtils.toSanitizedString(new byte[]{(byte) 0x94}, defaultArgumentResolver)); assertEquals("X'5daa'", SqlUtils.toSanitizedString(new byte[]{(byte) 0x5d, (byte) 0xaa}, defaultArgumentResolver)); assertEquals("X'08312f'", SqlUtils.toSanitizedString( new byte[]{(byte) 0x08, (byte) 0x31, (byte) 0x2f}, defaultArgumentResolver)); assertEquals("X'7be6cd4b'", SqlUtils.toSanitizedString( new byte[]{(byte) 0x7b, (byte) 0xe6, (byte) 0xcd, (byte) 0x4b}, defaultArgumentResolver)); }
/** * Use an instance of ArgumentResolver instead, e.g. {@link DefaultArgumentResolver} */ @Deprecated public static Object resolveArgReferences(Object arg) { return new DefaultArgumentResolver().resolveArgument(arg); }
public void testSanitizeStringHandlesNullCharacters() { ArgumentResolver defaultArgumentResolver = new DefaultArgumentResolver(); assertEquals("CAST(ZEROBLOB(1) AS TEXT)", SqlUtils.toSanitizedString("\0", defaultArgumentResolver)); assertEquals("CAST(ZEROBLOB(2) AS TEXT)", SqlUtils.toSanitizedString("\0\0", defaultArgumentResolver)); assertEquals("CAST(ZEROBLOB(1) AS TEXT) || 'ABC'", SqlUtils.toSanitizedString("\0ABC", defaultArgumentResolver)); assertEquals("CAST(ZEROBLOB(2) AS TEXT) || 'ABC'", SqlUtils.toSanitizedString("\0\0ABC", defaultArgumentResolver)); assertEquals("CAST(ZEROBLOB(1) AS TEXT) || 'A' || CAST(ZEROBLOB(1) AS TEXT) || 'B''C'", SqlUtils.toSanitizedString("\0A\0B'C", defaultArgumentResolver)); assertEquals("CAST(ZEROBLOB(1) AS TEXT) || 'ABC' || CAST(ZEROBLOB(1) AS TEXT)", SqlUtils.toSanitizedString("\0ABC\0", defaultArgumentResolver)); assertEquals("CAST(ZEROBLOB(1) AS TEXT) || 'ABC' || CAST(ZEROBLOB(2) AS TEXT)", SqlUtils.toSanitizedString("\0ABC\0\0", defaultArgumentResolver)); assertEquals("'A' || CAST(ZEROBLOB(1) AS TEXT) || 'BC' || CAST(ZEROBLOB(1) AS TEXT)", SqlUtils.toSanitizedString("A\0BC\0", defaultArgumentResolver)); assertEquals("'A' || CAST(ZEROBLOB(2) AS TEXT) || 'BC' || CAST(ZEROBLOB(1) AS TEXT)", SqlUtils.toSanitizedString("A\0\0BC\0", defaultArgumentResolver)); assertEquals("'A' || CAST(ZEROBLOB(1) AS TEXT) || 'B' || CAST(ZEROBLOB(1) AS TEXT) || 'C'", SqlUtils.toSanitizedString("A\0B\0C", defaultArgumentResolver)); assertEquals("'ABC' || CAST(ZEROBLOB(1) AS TEXT)", SqlUtils.toSanitizedString("ABC\0", defaultArgumentResolver)); }