# Buggy code
def _perform_getitem(cls, dataset, index):
    index = util.wrap_tuple(index)
    if len(index) == 1:
        index = (index[0], slice(None))
    elif len(index) > 2:
        raise IndexError(
            "Tabular index not understood, index must be at most length 2."
        )

    rows, cols = index
    if rows is Ellipsis:
        rows = slice(None)

    data = dataset.interface.iloc(dataset, (rows, cols))
    kdims = dataset.kdims
    vdims = dataset.vdims
    if np.isscalar(data):
        return data
    elif cols == slice(None):
        pass
    else:
        if isinstance(cols, slice):
            dims = dataset.dimensions()[index[1]]
        elif np.isscalar(cols):
            dims = [dataset.get_dimension(cols)]
        else:
            dims = [dataset.get_dimension(d) for d in cols]
        kdims = [d for d in dims if d in kdims]
        vdims = [d for d in dims if d in vdims]

    datatypes = util.unique_iterator([dataset.interface.datatype] + dataset.datatype)
    datatype = [
        dt
        for dt in datatypes
        if dt in Interface.interfaces and not Interface.interfaces[dt].gridded
    ]
    if not datatype:
        datatype = ["dataframe", "dictionary"]
    return dataset.clone(data, kdims=kdims, vdims=vdims, datatype=datatype)


# Traceback (numpy.core._exceptions.UFuncTypeError)
future: <Future finished exception=UFuncTypeError(<ufunc 'true_divide'>, (dtype('<M8[ns]'), dtype('float64')))>
Traceback (most recent call last):
File "c:\users\catal\appdata\local\programs\python\python36\lib\site-packages\tornado\gen.py", line 191, in wrapper
result = func(*args, **kwargs)
File "c:\users\catal\appdata\local\programs\python\python36\lib\site-packages\holoviews\plotting\bokeh\callbacks.py", line 418, in process_on_change
self.on_msg(msg)
File "c:\users\catal\appdata\local\programs\python\python36\lib\site-packages\holoviews\plotting\bokeh\callbacks.py", line 141, in on_msg
processed_msg = self._process_msg(filtered_msg)
File "c:\users\catal\appdata\local\programs\python\python36\lib\site-packages\holoviews\plotting\bokeh\callbacks.py", line 815, in _process_msg
x0 = convert_timestamp(x0)
File "c:\users\catal\appdata\local\programs\python\python36\lib\site-packages\holoviews\plotting\bokeh\util.py", line 98, in convert_timestamp
datetime = dt.datetime.utcfromtimestamp(timestamp/1000.)
numpy.core._exceptions.UFuncTypeError: ufunc 'true_divide' cannot use operands with types dtype('<M8[ns]') and dtype('float64')

# Fixed code
def _perform_getitem(cls, dataset, index):
    index = util.wrap_tuple(index)
    if len(index) == 1:
        index = (index[0], slice(None))
    elif len(index) > 2:
        raise IndexError(
            "Tabular index not understood, index must be at most length 2."
        )

    rows, cols = index
    if rows is Ellipsis:
        rows = slice(None)

    data = dataset.interface.iloc(dataset, (rows, cols))
    kdims = dataset.kdims
    vdims = dataset.vdims
    if util.isscalar(data):
        return data
    elif cols == slice(None):
        pass
    else:
        if isinstance(cols, slice):
            dims = dataset.dimensions()[index[1]]
        elif np.isscalar(cols):
            dims = [dataset.get_dimension(cols)]
        else:
            dims = [dataset.get_dimension(d) for d in cols]
        kdims = [d for d in dims if d in kdims]
        vdims = [d for d in dims if d in vdims]

    datatypes = util.unique_iterator([dataset.interface.datatype] + dataset.datatype)
    datatype = [
        dt
        for dt in datatypes
        if dt in Interface.interfaces and not Interface.interfaces[dt].gridded
    ]
    if not datatype:
        datatype = ["dataframe", "dictionary"]
    return dataset.clone(data, kdims=kdims, vdims=vdims, datatype=datatype)