You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by we...@apache.org on 2017/05/17 19:37:19 UTC
arrow git commit: ARROW-970: [Python] Nicer experience if user
accidentally calls pyarrow.Table ctor directly
Repository: arrow
Updated Branches:
refs/heads/master 0eec40aa5 -> 37cdc6e99
ARROW-970: [Python] Nicer experience if user accidentally calls pyarrow.Table ctor directly
This segfaulted before
Author: Wes McKinney <we...@twosigma.com>
Closes #702 from wesm/ARROW-970 and squashes the following commits:
508d9899 [Wes McKinney] Add some null checks into Table methods
Project: http://git-wip-us.apache.org/repos/asf/arrow/repo
Commit: http://git-wip-us.apache.org/repos/asf/arrow/commit/37cdc6e9
Tree: http://git-wip-us.apache.org/repos/asf/arrow/tree/37cdc6e9
Diff: http://git-wip-us.apache.org/repos/asf/arrow/diff/37cdc6e9
Branch: refs/heads/master
Commit: 37cdc6e99bd935c3ce23e840d6d5ba4e070bc3b6
Parents: 0eec40a
Author: Wes McKinney <we...@twosigma.com>
Authored: Wed May 17 15:37:15 2017 -0400
Committer: Wes McKinney <we...@twosigma.com>
Committed: Wed May 17 15:37:15 2017 -0400
----------------------------------------------------------------------
python/pyarrow/table.pxi | 8 ++++++--
python/pyarrow/tests/test_table.py | 5 +++++
2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/arrow/blob/37cdc6e9/python/pyarrow/table.pxi
----------------------------------------------------------------------
diff --git a/python/pyarrow/table.pxi b/python/pyarrow/table.pxi
index c9915c1..25a4f84 100644
--- a/python/pyarrow/table.pxi
+++ b/python/pyarrow/table.pxi
@@ -825,6 +825,7 @@ cdef class Table:
-------
pandas.DataFrame
"""
+ self._check_nullptr()
if nthreads is None:
nthreads = cpu_count()
@@ -845,6 +846,7 @@ cdef class Table:
list entries = []
Column column
+ self._check_nullptr()
for i in range(num_columns):
column = self.column(i)
entries.append((column.name, column.to_pylist()))
@@ -860,6 +862,7 @@ cdef class Table:
-------
pyarrow.Schema
"""
+ self._check_nullptr()
return pyarrow_wrap_schema(self.table.schema())
def column(self, int64_t i):
@@ -874,13 +877,12 @@ cdef class Table:
-------
pyarrow.Column
"""
- self._check_nullptr()
-
cdef:
Column column = Column()
int64_t num_columns = self.num_columns
int64_t index
+ self._check_nullptr()
if not -num_columns <= i < num_columns:
raise IndexError(
'Table column index {:d} is out of range'.format(i)
@@ -947,6 +949,7 @@ cdef class Table:
Add column to Table at position. Returns new table
"""
cdef shared_ptr[CTable] c_table
+ self._check_nullptr()
with nogil:
check_status(self.table.AddColumn(i, column.sp_column, &c_table))
@@ -964,6 +967,7 @@ cdef class Table:
Create new Table with the indicated column removed
"""
cdef shared_ptr[CTable] c_table
+ self._check_nullptr()
with nogil:
check_status(self.table.RemoveColumn(i, &c_table))
http://git-wip-us.apache.org/repos/asf/arrow/blob/37cdc6e9/python/pyarrow/tests/test_table.py
----------------------------------------------------------------------
diff --git a/python/pyarrow/tests/test_table.py b/python/pyarrow/tests/test_table.py
index ed22011..afc9520 100644
--- a/python/pyarrow/tests/test_table.py
+++ b/python/pyarrow/tests/test_table.py
@@ -275,3 +275,8 @@ def test_table_negative_indexing():
with pytest.raises(IndexError):
table[4]
+
+
+def test_table_ctor_errors():
+ with pytest.raises(ReferenceError):
+ repr(pa.Table())