Skip to content

\d schema.table crashes #87

@dpriedel

Description

@dpriedel

I am using the latest version of pgspecial with postgresql 11.5 on Manjaro Linux.

I am using pgspecial from ipython-sql

Once I connect to my DB, I can run commands such as:

%sql \dn pg_catalog

and get proper output

But, if I try to run a command such as:

%sql \d pg_catalog.pg_class

it crashes with the following stack trace

`

AttributeError Traceback (most recent call last)
in
----> 1 get_ipython().run_line_magic('sql', '\d pg_catalog.pg_class')

/usr/lib/python3.7/site-packages/IPython/core/interactiveshell.py in run_line_magic(self, magic_name, line, _stack_depth)
2312 kwargs['local_ns'] = sys._getframe(stack_depth).f_locals
2313 with self.builtin_trap:
-> 2314 result = fn(*args, **kwargs)
2315 return result
2316

</usr/lib/python3.7/site-packages/decorator.py:decorator-gen-127> in execute(self, line, cell, local_ns)

/usr/lib/python3.7/site-packages/IPython/core/magic.py in (f, *a, **k)
185 # but it's overkill for just that one bit of state.
186 def magic_deco(arg):
--> 187 call = lambda f, *a, **k: f(*a, **k)
188
189 if callable(arg):

</usr/lib/python3.7/site-packages/decorator.py:decorator-gen-126> in execute(self, line, cell, local_ns)

/usr/lib/python3.7/site-packages/IPython/core/magic.py in (f, *a, **k)
185 # but it's overkill for just that one bit of state.
186 def magic_deco(arg):
--> 187 call = lambda f, *a, **k: f(*a, **k)
188
189 if callable(arg):

/usr/lib/python3.7/site-packages/sql/magic.py in execute(self, line, cell, local_ns)
93
94 try:
---> 95 result = sql.run.run(conn, parsed['sql'], self, user_ns)
96
97 if result is not None and not isinstance(result, str) and self.column_local_vars:

/usr/lib/python3.7/site-packages/sql/run.py in run(conn, sql, config, user_namespace)
335 _, cur, headers, _ = pgspecial.execute(
336 conn.session.connection.cursor(), statement)[0]
--> 337 result = FakeResultProxy(cur, headers)
338 else:
339 txt = sqlalchemy.sql.text(statement)

/usr/lib/python3.7/site-packages/sql/run.py in init(self, cursor, headers)
298
299 def init(self, cursor, headers):
--> 300 self.fetchall = cursor.fetchall
301 self.fetchmany = cursor.fetchmany
302 self.rowcount = cursor.rowcount

AttributeError: 'list' object has no attribute 'fetchall'
`

It doesn't matter what table I use.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions