public synchronized void addFunction(Function function) throws UserException {
        addFunction(function, false);
    }
@Test
    public void testAddFunction() throws UserException {
        // Add addIntInt function to database
        FunctionName name = new FunctionName(null, "addIntInt");
        name.setDb(db.getCatalogName());
        final Type[] argTypes = {Type.INT, Type.INT};
        Function f = new Function(name, argTypes, Type.INT, false);
        db.addFunction(f);

        // Add addDoubleDouble function to database
        FunctionName name2 = new FunctionName(null, "addDoubleDouble");
        name2.setDb(db.getCatalogName());
        final Type[] argTypes2 = {Type.DOUBLE, Type.DOUBLE};
        Function f2 = new Function(name2, argTypes2, Type.DOUBLE, false);
        db.addFunction(f2);
    }