@ScalarOperator(MULTIPLY)
    @SqlType(StandardTypes.TINYINT)
    public static long multiply(@SqlType(StandardTypes.TINYINT) long left, @SqlType(StandardTypes.TINYINT) long right)
    {
        try {
            return SignedBytes.checkedCast(left * right);
        }
        catch (IllegalArgumentException e) {
            throw new PrestoException(NUMERIC_VALUE_OUT_OF_RANGE, format("tinyint multiplication overflow: %s * %s", left, right), e);
        }
    }
@Test
    public void testMultiply()
    {
        assertFunction("TINYINT'11' * TINYINT'11'", TINYINT, (byte) (11 * 11));
        assertFunction("TINYINT'11' * TINYINT'9'", TINYINT, (byte) (11 * 9));
        assertFunction("TINYINT'9' * TINYINT'11'", TINYINT, (byte) (9 * 11));
        assertFunction("TINYINT'9' * TINYINT'9'", TINYINT, (byte) (9 * 9));
        assertNumericOverflow(format("TINYINT'%s' * TINYINT'2'", Byte.MAX_VALUE), "tinyint multiplication overflow: 127 * 2");
    }