duckdb-ffi-0.1.4.1: src/Database/DuckDB/FFI/Validity.hs
module Database.DuckDB.FFI.Validity (
c_duckdb_validity_row_is_valid,
c_duckdb_validity_set_row_validity,
c_duckdb_validity_set_row_invalid,
c_duckdb_validity_set_row_valid,
) where
import Data.Word (Word64)
import Database.DuckDB.FFI.Types
import Foreign.C.Types (CBool (..))
import Foreign.Ptr (Ptr)
{- | Returns whether or not a row is valid (i.e., not NULL) in the given validity
mask.
Parameters:
* @validity@: The validity mask, as obtained through
@duckdb_vector_get_validity@
* @row@: The row index
Returns true if the row is valid, false otherwise
-}
foreign import ccall unsafe "duckdb_validity_row_is_valid"
c_duckdb_validity_row_is_valid :: Ptr Word64 -> DuckDBIdx -> IO CBool
{- | In a validity mask, sets a specific row to either valid or invalid.
Note that @duckdb_vector_ensure_validity_writable@ should be called before
calling @duckdb_vector_get_validity@, to ensure that there is a validity mask
to write to.
Parameters:
* @validity@: The validity mask, as obtained through
@duckdb_vector_get_validity@.
* @row@: The row index
* @valid@: Whether or not to set the row to valid, or invalid
-}
foreign import ccall unsafe "duckdb_validity_set_row_validity"
c_duckdb_validity_set_row_validity :: Ptr Word64 -> DuckDBIdx -> CBool -> IO ()
{- | In a validity mask, sets a specific row to invalid.
Equivalent to @duckdb_validity_set_row_validity@ with valid set to false.
Parameters:
* @validity@: The validity mask
* @row@: The row index
-}
foreign import ccall unsafe "duckdb_validity_set_row_invalid"
c_duckdb_validity_set_row_invalid :: Ptr Word64 -> DuckDBIdx -> IO ()
{- | In a validity mask, sets a specific row to valid.
Equivalent to @duckdb_validity_set_row_validity@ with valid set to true.
Parameters:
* @validity@: The validity mask
* @row@: The row index
-}
foreign import ccall unsafe "duckdb_validity_set_row_valid"
c_duckdb_validity_set_row_valid :: Ptr Word64 -> DuckDBIdx -> IO ()