message: Check if replacement scans don't leak memory
diff: @@ -27,6 +27,16 @@ def from_arrow():
  arrow_table = pa.Table.from_arrays([data],['a'])
  duckdb.from_arrow(arrow_table)
  +def arrow_replacement():
  + data = pa.array(np.random.rand(1_000_000), type=pa.float32())
  + arrow_table = pa.Table.from_arrays([data],['a'])
  + duckdb.query("select * from arrow_table")
  +
  +def pandas_replacement():
  + df = pd.DataFrame({"x": np.random.rand(1_000_000)})
  + duckdb.query("select * from df")
  +
  +
  class TestRelationDependencyMemoryLeak(object):
  def test_from_arrow_leak(self, duckdb_cursor):
  if not can_run:
  @@ -36,6 +46,14 @@ class TestRelationDependencyMemoryLeak(object):
  def test_from_df_leak(self, duckdb_cursor):
  check_memory(from_df)
  + def test_arrow_replacement_scan_leak(self, duckdb_cursor):
  + if not can_run:
  + return
  + check_memory(arrow_replacement)
  +
  + def test_pandas_replacement_scan_leak(self, duckdb_cursor):
  + check_memory(pandas_replacement)
  +
  def test_relation_view_leak(self, duckdb_cursor):
  rel = from_df()
  rel.create_view("bla")
  