SQL Alchemy ResultProxy.rowcount sollte nicht Null sein

Weiß jemand, wie man die Zeilenzahl von einem SQL Alchemy-Abfrage ResultProxy-Objekt erhält, ohne die Ergebnismenge zu durchlaufen? Das ResultProxy.rowcount Attribut zeigt 0, ich würde erwarten, dass es einen Wert von 2 hat. Für Aktualisierungen zeigt es die Anzahl der betroffenen Zeilen an, was ich erwarten würde.

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

engine = create_engine(
    'oracle+cx_oracle://user:pass@host:port/database'
    )

session = sessionmaker(
    bind = engine
    , autocommit = False
    , autoflush = False
    )()

sql_text = u"""
    SELECT 1 AS Val FROM dual UNION ALL
    SELECT 2 AS Val FROM dual
    """

results = session.execute(sql_text)

print '%s rows returned by query...\n' % results.rowcount
print results.keys()

for i in results:
    print repr(i)

Ausgabe:

0 rows returned by query...

[u'val']
(1,)
(2,)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage