long executeInsert() {
		PreparedStatement ps = null;
		try {
			ps = prepare(true);
			ps.executeUpdate();
			long identity = -1;
			ResultSet rs = ps.getGeneratedKeys();
			if (rs != null && rs.next()) {
				identity = rs.getLong(1);
			}
			JdbcUtils.closeSilently(rs);
			return identity;
		} catch (SQLException e) {
			throw IciqlException.fromSQL(getSQL(), e);
		} finally {
			JdbcUtils.closeSilently(ps);
		}
	}