跳到内容
  • adbc_xptr_move() 分配一个新的 R 对象,并将 x 指向的所有值移动到该对象中。通过将原始 R 对象的内容置零使其失效。 当从一个函数返回,并且该函数使用 生命周期助手 来管理原始对象时,这非常有用。

  • adbc_xptr_is_valid() 提供了一种测试指针是否失效的方法。

用法

adbc_xptr_move(x, check_child_count = TRUE)

adbc_xptr_is_valid(x)

参数

x

一个 'adbc_database'、'adbc_connection'、'adbc_statement' 或 'nanoarrow_array_stream'

check_child_count

确保 x 在执行移动之前具有零子计数。 这几乎总是应该为 TRUE

返回值

  • adbc_xptr_move(): 一个新分配的 R 对象,与 x 相同

  • adbc_xptr_is_valid(): 如果 x 指向的 ADBC 对象已失效,则返回 FALSE。

示例

db <- adbc_database_init(adbc_driver_void())
adbc_xptr_is_valid(db)
#> [1] TRUE
db_new <- adbc_xptr_move(db)
adbc_xptr_is_valid(db)
#> [1] FALSE
adbc_xptr_is_valid(db_new)
#> [1] TRUE