mirror of
https://github.com/hanzo-ds/connect.git
synced 2026-10-30 20:31:24 +00:00
Imports read `datastore_connect`, distribution `datastore-connect`, so nothing has to import another product's name to talk to Hanzo Datastore. Cut from upstream 0.8.17 — the version this stack already ran — rather than from upstream HEAD, so it is a PURE RENAME with no behaviour change. Forking from HEAD would have dragged versions along with the name (connect alone jumped 0.8.17 -> 1.6.0, a major), which is a different and much riskier change wearing a rename's clothes. X-ClickHouse-* headers are untouched: they are wire protocol the server sends and expects, and a different token shape from the module name.
14 lines
410 B
Cython
14 lines
410 B
Cython
import cython
|
|
|
|
import numpy as np
|
|
|
|
from .buffer cimport ResponseBuffer
|
|
|
|
@cython.boundscheck(False)
|
|
@cython.wraparound(False)
|
|
def read_numpy_array(ResponseBuffer buffer, np_type: str, unsigned long long num_rows):
|
|
dtype = np.dtype(np_type)
|
|
cdef sz = dtype.itemsize * num_rows
|
|
cdef char * source = buffer.read_bytes_c(dtype.itemsize * num_rows)
|
|
return np.frombuffer(source[:sz], dtype, num_rows)
|