Function Row.this

A constructor to extract the column data from a row data packet.

If the data for the row exceeds the server's maximum packet size, then several packets will be sent for the row that taken together constitute a logical row data packet. The logic of the data recovery for a Row attempts to minimize the quantity of data that is bufferred. Users can assist in this by specifying chunked data transfer in cases where results sets can include long column values.

The row struct is used for both 'traditional' and 'prepared' result sets. It consists of parallel arrays of Variant and bool, with the bool array indicating which of the result set columns are NULL.

I have been agitating for some kind of null indicator that can be set for a Variant without destroying its inherent type information. If this were the case, then the bool array could disappear. However, this inherent type information was never actually used, or even tracked, by struct Row for null fields. So this is may be nothing to be concerned about. If such info is needed later, perhaps _values could store its elements as Nullable!T?

Prototype

ref this(
  Connection con,
  ref ubyte[] packet,
  ResultSetHeaders rh,
  bool binary
);

Authors

Copyright

License