prisma / tiberius

TDS 7.2+ (Microsoft SQL Server) driver for Rust
Apache License 2.0
311 stars 113 forks source link

Allow Row to get ColumnData #304

Open LazyDope opened 1 year ago

LazyDope commented 1 year ago

When working on data of an unknown type, it's very difficult to get a specific index without explicitly giving the type that we are going to receive. Being able to handle the ColumnData instead of needing to provide a concrete type that implements FromSql allows this to be handled more conveniently.

ColinFinck commented 12 months ago

I second this! Need to query a single cell, but I don't know its result type in advance. ColumnData would have all the required information, but the stored ColumnData of a Row is currently not exposed. This PR or any similar getter for Row would fix that.

CC @miguelff @pimeys @steffengy @Weakky

LazyDope commented 12 months ago

An acceptable alternative would be implementing FromSql for ColumnData that returns a clone of the ColumnData, but most of the implementation was already present for this, it was just a matter of separating it into its own function.

bittrance commented 11 months ago

Does the changes in #303 address this case? Granted, you will have to iterate to the column you want, but unless you have wide result sets or serious performance requirements, that might be acceptable?

LazyDope commented 11 months ago

No, the borrow checker was not really the problem for me, it is much more straightforward for me to be able to get the data with the column name rather than iterating to the correct column, which is why I make this change in the first place.