Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow a fix for #249 #267

Merged
merged 3 commits into from
May 27, 2020
Merged

Allow a fix for #249 #267

merged 3 commits into from
May 27, 2020

Conversation

quinnj
Copy link
Member

@quinnj quinnj commented May 26, 2020

From some research discovered
here
and in the Netezza ODBC documentation
here,
the Netezza ODBC driver, by default, has a 'Prefetch Count' setting,
defaulting to 256, that limits the # of rows that will return for a
resultset. It's unclear whether you can set this number to -1 or some
really large integer # (4 trillion or so) and if that would work (or try
to consume that much memory by pre-allocating?).

In any case, RODBC has a setting believeNRows, so we introduce a
similar (though IMO better named) keyword argument
ignore_driver_row_count, which, when set to true, will force the
result handling code to iterate rows with no known length, which is the
setting we want when we're unable to pre-allocate full columns.

From some research discovered
[here](http://datamining.togaware.com/survivor/Database_Connection.html)
and in the Netezza ODBC documentation
[here](https://www.ibm.com/support/knowledgecenter/SSULQD_7.1.0/com.ibm.nz.datacon.doc/r_datacon_odbc_driver_setup_win.html),
the Netezza ODBC driver, by default, has a 'Prefetch Count' setting,
defaulting to 256, that limits the # of rows that will return for a
resultset. It's unclear whether you can set this number to -1 or some
really large integer # (4 trillion or so) and if that would work (or try
to consume that much memory by pre-allocating?).

In any case, RODBC has a setting `believeNRows`, so we introduce a
similar (though IMO better named) keyword argument
`ignore_driver_row_count`, which, when set to `true`, will force the
result handling code to iterate rows with no known length, which is the
setting we want when we're unable to pre-allocate full columns.
@codecov-commenter
Copy link

codecov-commenter commented May 26, 2020

Codecov Report

Merging #267 into master will not change coverage.
The diff coverage is 100.00%.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #267   +/-   ##
=======================================
  Coverage   72.19%   72.19%           
=======================================
  Files           5        5           
  Lines         651      651           
=======================================
  Hits          470      470           
  Misses        181      181           
Impacted Files Coverage Δ
src/API.jl 57.65% <ø> (ø)
src/dbinterface.jl 89.30% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b4dd7ba...fc526e1. Read the comment docs.

@quinnj quinnj merged commit 768c656 into master May 27, 2020
@quinnj quinnj deleted the jq/netezza branch May 27, 2020 05:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants