}
	public error user_add( user_info ai, boolean is_banned ) 			throws null_error, db_error, except { try {		CallableStatement call = con.prepareCall("{ ? = call user_add(?, ?, ?, ?, ?)}");		int idx=1;		call.registerOutParameter(idx++, Types.INTEGER);		call.setInt(idx++, ai.id_domain);		call.setString(idx++, ai.login.toLowerCase());		call.setString(idx++, ai.pass);		call.setInt(idx++, ai.flags);		call.setBoolean(idx++, is_banned);		call.execute();				int res = call.getInt(1);		if(call.wasNull() )			return lr(err_code.err_func_res, "USER_ADD");		if( res < 0 ) {			switch( res ) {			case -3:				return lr(err_code.err_noent, Integer.toString(ai.id_domain));			case -2:				return lr(err_code.err_user_inv, "");			case -1:				return lr(err_code.err_exists, "");			default:				return lr(err_code.err_func_res, "USER_ADD");			} 		}		if( 0 == res )			return lr(err_code.err_no, "");				return lr(err_code.err_func_res, "USER_ADD");	} catch( SQLException e ) {		throw new db_error(e.getMessage(), getClass().getName(), 0);	} catch( NullPointerException e ) {		throw new null_error(e.getMessage(), getClass().getName(), 0);	} catch( Exception e ) {		throw new except(e.getMessage(), getClass().getName(), 0);	} }