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

[AD-758] - Performance investigation SELECT * TABLE and SELECT * VIRTUAL-TABLE #84

Merged
merged 219 commits into from
Jun 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
219 commits
Select commit Hold shift + click to select a range
3db74ce
[AD-509] Update mac developer environment setup
andiemontoyeah Jan 10, 2022
52b9b02
Adjust formatting
andiemontoyeah Jan 10, 2022
d3278a4
Add note about llvm
andiemontoyeah Jan 12, 2022
9802e1b
Add note about iodbc
andiemontoyeah Jan 14, 2022
dfc1d5e
Update README.md
alinaliBQ Jan 14, 2022
14f8011
Update README.md
alinaliBQ Jan 17, 2022
cabce3e
Merge branch 'develop' into alinaliBQ-patch-1
alinaliBQ Jan 17, 2022
d6ccf0e
Update README.md
alinaliBQ Jan 17, 2022
eda56eb
[AD-517] Remove old properties + add new properties
andiemontoyeah Jan 18, 2022
5914412
remove SSL settings and add TLS checkbox on the Configuration Window
alinaliBQ Jan 18, 2022
df38b8c
add comments for my own work
alinaliBQ Jan 18, 2022
f939e30
fix tls checkbox on Configuration Window
alinaliBQ Jan 19, 2022
28950ad
add TlsAllowInvalidHostnames checkbox and TLS CA edit to the Configur…
alinaliBQ Jan 19, 2022
d5ae191
Update configuration.cpp
alinaliBQ Jan 19, 2022
c06275e
Update dsn_configuration_window.cpp
alinaliBQ Jan 19, 2022
f311e3b
change defaultFetchSize to fetchSize in configuration.h
alinaliBQ Jan 19, 2022
8e79965
change Default DSN name to DocumentDB DSN
alinaliBQ Jan 19, 2022
a5cd10e
add App Name, Fetch Size, Read Preference, and login timeout to confi…
alinaliBQ Jan 19, 2022
2bcd2a4
[AD-522] bugfix - change DefaultFetchSize to fetchSize in all related…
alinaliBQ Jan 19, 2022
eb03b92
[AD-522] save read preference settings
alinaliBQ Jan 19, 2022
0401433
[AD-522] remove commented out code
alinaliBQ Jan 20, 2022
7e5288d
[AD-522] Implement replicaSet and retryReads on Configuration Window
alinaliBQ Jan 20, 2022
27b72e1
[AD-517] Re-enable unit tests - WIP - still need to cleanup
andiemontoyeah Jan 20, 2022
8a5a357
[AD-522] add space to code lines for format consistency in configurat…
alinaliBQ Jan 20, 2022
504d2ba
Add more unit tests
andiemontoyeah Jan 20, 2022
de1606c
Remove extra file
andiemontoyeah Jan 20, 2022
c2f744a
[AD-522] Add small letter case to keep format consistency in dsn_conf…
alinaliBQ Jan 20, 2022
68ab4b9
Remove redundant declaration
andiemontoyeah Jan 20, 2022
9c52daf
[AD-522] add variable definitions for SSH tunnel settings for config UI
alinaliBQ Jan 20, 2022
07de6ef
[AD-522] add function definition for SSH Tunnel
alinaliBQ Jan 20, 2022
f2e92a4
[AD-522] code draft for configuration.cpp
alinaliBQ Jan 20, 2022
fbaa103
Revert "change defaultFetchSize to fetchSize in configuration.h"
alinaliBQ Jan 20, 2022
124b725
Revert "[AD-522] bugfix - change DefaultFetchSize to fetchSize in all…
alinaliBQ Jan 20, 2022
1ce7878
[AD-517] * Change the C++ version to use to compile.
Jan 20, 2022
827f2bc
[AD-522] change fetchSize to defaultFetchSize on configuration window…
alinaliBQ Jan 20, 2022
8bbd020
Merge branch 'develop' into andiem/AD-517/adapt_dsn_config
Jan 20, 2022
5c01549
[AD-517] * Changed checks.yml so that it doesn't fail on code review …
Jan 20, 2022
aa7731a
Revert "[AD-522] bugfix - change DefaultFetchSize to fetchSize in all…
alinaliBQ Jan 20, 2022
20a8406
[AD-522] make TLS allow invalid hostnames checkbox enabled only when …
alinaliBQ Jan 20, 2022
0b1a768
Revert "Revert "[AD-522] bugfix - change DefaultFetchSize to fetchSiz…
alinaliBQ Jan 20, 2022
c34c5a2
Improvements from review
andiemontoyeah Jan 21, 2022
1a66e9b
Updated comments
andiemontoyeah Jan 21, 2022
961d8cb
[AD-522] save SSH values for re-read, make settings window into 2 col…
alinaliBQ Jan 21, 2022
adaf439
Removed includes no longer being used in configuration.h
andiemontoyeah Jan 21, 2022
44f5c70
Some formatting improvements
andiemontoyeah Jan 21, 2022
b9b2d03
[Ad-522] add sshEnable variable in DSN config
alinaliBQ Jan 21, 2022
ddea671
Merge branch 'andiem/AD-517/adapt_dsn_config' of https://github.com/B…
alinaliBQ Jan 21, 2022
2049006
Merge branch 'andiem/AD-517/adapt_dsn_config' into alinaliBQ/AD-522/c…
alinaliBQ Jan 21, 2022
438a227
[AD-522] change from GetSshEnable to IsSshEnable for consistency
alinaliBQ Jan 21, 2022
5d1394e
Merge changes from develop
andiemontoyeah Jan 24, 2022
4a640b7
[AD-522] comment out deprecated readPreference variable
alinaliBQ Jan 24, 2022
a6f8194
[AD-522] add SSH enable checkbox, SSH private key passphrase, and SSH…
alinaliBQ Jan 24, 2022
82c97ae
[AD-522] read_preference.h fix
alinaliBQ Jan 24, 2022
955e7ba
[AD-522] update fields in configuration window
alinaliBQ Jan 24, 2022
2f4b108
Improvements from code review + address some warnings
andiemontoyeah Jan 24, 2022
095edf1
Change connection _test to use hostname key instead of address
andiemontoyeah Jan 24, 2022
9e01a14
Change connection_test to use databse key instead of schema key
andiemontoyeah Jan 24, 2022
cbaeedd
[AD-522] implement read Preference
alinaliBQ Jan 25, 2022
2345c41
Attempt to fix windows 32 build
andiemontoyeah Jan 25, 2022
3f6b376
[AD-522] refactor dsn_configuration_window.cpp
alinaliBQ Jan 25, 2022
1378630
[AD-522] fix config window margins
alinaliBQ Jan 25, 2022
a014cac
Fix formatting
andiemontoyeah Jan 25, 2022
4c49492
[AD-522] add HasText() function to window.h
alinaliBQ Jan 25, 2022
b0b731b
[AD-522] make "rs0" the default value of replicaSet
alinaliBQ Jan 25, 2022
b7d3b88
[AD-522] implement database, hostname, port fields. And disable ok bu…
alinaliBQ Jan 25, 2022
7842688
[AD-522] rename SSH Known Hosts File label for clarity
alinaliBQ Jan 25, 2022
95fda4c
[AD-522] refactor logs for retrieving TSL settings
alinaliBQ Jan 25, 2022
0018921
[AD-522] rename TLS CA File label for clarity
alinaliBQ Jan 25, 2022
982ac4e
[AD-522] move authorization setting fields to connection fields
alinaliBQ Jan 25, 2022
a4d2e0d
[AD-522] bugfix-comment out address field related code in RetrieveCon…
alinaliBQ Jan 25, 2022
260e662
[AD-522] rename sslSettings to tlsSettings and add comment for connec…
alinaliBQ Jan 25, 2022
0063e20
[AD-522] remove protocol version from config window
alinaliBQ Jan 25, 2022
bd62805
[AD-522] bug fix sshKnownHostsFile not saved when Ok button is pressed
alinaliBQ Jan 25, 2022
bddf4b5
[AD-522] remove commented out #include headers
alinaliBQ Jan 25, 2022
8a3e732
[AD-522] disable SSH Known Hosts File edit when SSH Strict Host Key …
alinaliBQ Jan 25, 2022
57ccedd
[AD-522] refactor - remove commented out header code
alinaliBQ Jan 25, 2022
efe493a
[AD-522] add comments in configuration.cpp for planning
alinaliBQ Jan 25, 2022
0d04801
[AD-522] change from SSL to TLS for consistency
alinaliBQ Jan 25, 2022
2fcfd6d
[AD-522] remove commented out code
alinaliBQ Jan 25, 2022
e30676c
[AD-522] remove std::auto_ptr<Window> authSettingsGroupBox;
alinaliBQ Jan 25, 2022
de64d87
[AD-522] remove address field auto pointer initialization
alinaliBQ Jan 25, 2022
f96413d
[AD-522] remove address field from config window constructor
alinaliBQ Jan 25, 2022
4acad7b
[AD-522] refactor - remove unneeded commented out code in HasText
alinaliBQ Jan 26, 2022
7652d86
[AD-522] refactor - remove white spaces and update comment
alinaliBQ Jan 26, 2022
3e01d10
[AD-522] debug scan_method.h
alinaliBQ Jan 26, 2022
fa54ad3
[AD-522] implement Schema group settings box
alinaliBQ Jan 26, 2022
bc752a3
[AD-522] update readPreference default value to unknown
alinaliBQ Jan 26, 2022
c7ed031
[AD-522] refactor - remove unnecessary comments
alinaliBQ Jan 26, 2022
0aa2052
[AD-522] adjust window size and additional settings group label size
alinaliBQ Jan 26, 2022
8d609da
Merge branch 'develop' into alinaliBQ/AD-522/config_window
alinaliBQ Jan 26, 2022
df0cad5
Revert "Merge branch 'develop' into alinaliBQ/AD-522/config_window"
alinaliBQ Jan 26, 2022
4d704df
[AD-522] keyboard user interface design + disable DSN empty strimg wa…
alinaliBQ Jan 26, 2022
1241429
[AD-522] add end_point header to resolve build errors
alinaliBQ Jan 27, 2022
c66e84d
Revert "Revert "Merge branch 'develop' into alinaliBQ/AD-522/config_w…
alinaliBQ Jan 27, 2022
e9ed8f5
[AD-522] resolve errors after merging develop branch
alinaliBQ Jan 27, 2022
4fa8851
[AD-512] Resolve issue with missing include file.
Jan 27, 2022
1f85d28
Merge branch 'andiem/AD-517/adapt_dsn_config' into alinaliBQ/AD-522/c…
alinaliBQ Jan 27, 2022
66333de
[AD-522] make BoolParseResult recognizable
alinaliBQ Jan 27, 2022
9e639d1
[AD-522] fix build errors after develop branch merge
alinaliBQ Jan 27, 2022
d27b491
[AD-522] enable encrypt password for ssh private key passphrase
alinaliBQ Jan 28, 2022
107e016
[AD-521] add comments and notes for starting AD-521
alinaliBQ Jan 28, 2022
48405a3
[AD-509] update readMe to include directions about saving Java bin an…
alinaliBQ Jan 28, 2022
ee2e330
Merge branch 'develop' into alinaliBQ-patch-1
alinaliBQ Jan 28, 2022
a663492
[AD-522] reduce space between ssh private key passphrase and the chec…
alinaliBQ Jan 28, 2022
7ab94b9
[AD-521] define constants for Java GetSshLocalPort method call
alinaliBQ Jan 31, 2022
d41e027
[AD-521] integrate code review feedback from Andie
alinaliBQ Jan 31, 2022
6c16725
[AD-521] refactor code
alinaliBQ Jan 31, 2022
1db5b3f
[AD-427] Tracer Code - Limited Capability to load metadata - work-in-…
Feb 1, 2022
3ad4c66
[AD-427] Fix Mac build.
Feb 1, 2022
460ac61
[AD-427] Fix Mac build.
Feb 1, 2022
af5780f
[AD-427] Fix Windows build.
Feb 1, 2022
1f52bc2
[AD-427] Fix Windows build.
Feb 1, 2022
e5d901d
Merge pull request #2 from Bit-Quill/alinaliBQ-patch-1
alinaliBQ Feb 1, 2022
0e2afc3
[AD-427] Fix Windows build.
Feb 1, 2022
2355e5c
[AD-522] remove space and add new line at the end of enum types
alinaliBQ Feb 1, 2022
55132cf
[AD-522] add new lines at the end of Enum type files
alinaliBQ Feb 1, 2022
749a1c8
[AD-427] Fix Mac build.
Feb 1, 2022
37acdf1
[AD-427] Fix Mac build.
Feb 1, 2022
e6df2db
[AD-427] Fix Mac build.
Feb 1, 2022
22bf6f3
[AD-427] Fix Mac build.
Feb 1, 2022
d85c63f
[AD-427] Fix Mac build.
Feb 1, 2022
0d04813
[AD-427] Fix Mac build.
Feb 1, 2022
af19810
[AD-427] Fix Mac build.
Feb 1, 2022
20d34c4
Merge branch 'birschick-bq/ad-427/metadata' into alinaliBQ/AD-521/exp…
alinaliBQ Feb 2, 2022
81d1302
[AD-521] add changes for Java.cpp from Bruce's AD-427 branch
alinaliBQ Feb 2, 2022
77e9489
[AD-427] Fix Mac build.
Feb 2, 2022
f8a7225
[AD-427] Fix Mac build.
Feb 2, 2022
db8a769
[AD-427] Fix Mac build.
Feb 2, 2022
49085ee
[AD-427] Fix Mac build.
Feb 2, 2022
09e1f30
[AD-427] Fix Mac build.
Feb 2, 2022
e5eb2dc
[AD-427] Fix Mac build.
Feb 2, 2022
b29dd71
[AD-521] JNI wrapper calls to iSshTunnelActive and getSshLocalPort
alinaliBQ Feb 2, 2022
182ab02
Merge branch 'birschick-bq/ad-427/metadata' into alinaliBQ/AD-521/exp…
alinaliBQ Feb 2, 2022
bfb2b57
[AD-521] debug getSshLocalPort
alinaliBQ Feb 2, 2022
58b11ca
[AD-521] change return value in getSshLocalPort from boolean to a 0
alinaliBQ Feb 3, 2022
2f7cdc3
Merge branch 'develop' of github.com:Bit-Quill/amazon-documentdb-odbc…
andiemontoyeah Feb 3, 2022
3750a97
Merge branch 'develop' into alinaliBQ/AD-522/config_window
alinaliBQ Feb 3, 2022
136d983
[AD-522] resolve build errors after merge
alinaliBQ Feb 3, 2022
e59c35f
[AD-427] Added ResultSet.next and ResultSet.GetString()
Feb 3, 2022
e8288bf
[AD-522] address code review comments
alinaliBQ Feb 3, 2022
92b2737
Merge branch 'develop' into birschick-bq/ad-427/metadata
Feb 4, 2022
3d9c310
[AD-521] implement tests for JNI wrapper code
alinaliBQ Feb 4, 2022
b72459d
Merge branch 'birschick-bq/ad-427/metadata' into alinaliBQ/AD-521/exp…
alinaliBQ Feb 4, 2022
3f8c3cb
[AD-521] refactor - remove comments and commented out code
alinaliBQ Feb 4, 2022
ce3d984
Merge pull request #5 from Bit-Quill/alinaliBQ/AD-522/config_window
alinaliBQ Feb 4, 2022
b501581
Merge branch 'develop' into alinaliBQ/AD-521/expose_local_port
alinaliBQ Feb 4, 2022
15476fe
Merge branch 'develop' into alinaliBQ/AD-521/expose_local_port
alinaliBQ Feb 4, 2022
f1491a0
Merge branch 'develop' of https://github.com/Bit-Quill/amazon-documen…
Feb 7, 2022
96b7b3b
Merge branch 'develop' of https://github.com/Bit-Quill/amazon-documen…
Feb 7, 2022
7de26aa
Merge branch 'develop' into alinaliBQ/AD-521/expose_local_port
alinaliBQ Feb 7, 2022
e884ce6
Merge branch 'develop' of https://github.com/Bit-Quill/amazon-documen…
Feb 7, 2022
a6d409d
Merge branch 'develop' into alinaliBQ/AD-521/expose_local_port
Feb 7, 2022
5901f5d
[AD-589] implement JNI method call for GetDatabaseMetadata
alinaliBQ Feb 7, 2022
16906fc
[AD-589] implement unit test for DocumentDbConnection.getMetaData
alinaliBQ Feb 7, 2022
40f639b
Merge branch 'develop' of https://github.com/Bit-Quill/amazon-documen…
Feb 8, 2022
d09540e
Merge branch 'develop' into alinaliBQ/AD-521/expose_local_port
alinaliBQ Feb 8, 2022
63c0dac
[AD-521] add calls to AutoCloseConnection in unit tests
alinaliBQ Feb 8, 2022
0747864
Merge branch 'alinaliBQ/AD-521/expose_local_port' into alinaliBQ/AD-5…
alinaliBQ Feb 8, 2022
a65e781
[AD-521] remove unnecessary comment
alinaliBQ Feb 8, 2022
d0af445
[AD-589] fix merge issues
alinaliBQ Feb 8, 2022
17ff0d2
[AD-589] update getMetaData JNI wrapper code to pass &errInfo
alinaliBQ Feb 8, 2022
820ae7d
[AD-589] implement JNI wrapper for DocumentDbDatabaseSchemaMetadataGe…
alinaliBQ Feb 8, 2022
e14625e
[AD-589] implement unit test for DbDatabaseSchemaMetadataGetSchemaName
alinaliBQ Feb 8, 2022
701e790
[AD-521] refactor - change case of ssh to SSH for consistency
alinaliBQ Feb 9, 2022
1e44ab6
Merge pull request #6 from Bit-Quill/alinaliBQ/AD-521/expose_local_port
alinaliBQ Feb 9, 2022
4200023
Merge branch 'develop' of https://github.com/Bit-Quill/amazon-documen…
Feb 9, 2022
8c6dc91
[AD-589] address code review comments
alinaliBQ Feb 9, 2022
3f40401
[AD-589] change case from MetaData to Metadata to match Java method name
alinaliBQ Feb 9, 2022
84b4d83
[AD-589] refactor: change from metaData to metadata
alinaliBQ Feb 10, 2022
14bc399
Merge pull request #14 from Bit-Quill/alinaliBQ/AD-589/get_schema_met…
alinaliBQ Feb 10, 2022
1679656
Merge branch 'develop' of https://github.com/Bit-Quill/amazon-documen…
Feb 10, 2022
943f052
Merge branch 'develop' of https://github.com/Bit-Quill/amazon-documen…
Feb 14, 2022
2d5fe28
Merge branch 'develop' of https://github.com/Bit-Quill/amazon-documen…
Feb 16, 2022
1fc92e3
Merge branch 'develop' of https://github.com/Bit-Quill/amazon-documen…
Feb 16, 2022
f683e5a
Merge branch 'develop' of https://github.com/Bit-Quill/amazon-documen…
Feb 17, 2022
cb65655
Merge branch 'develop' of github.com:Bit-Quill/amazon-documentdb-odbc…
andiemontoyeah Feb 18, 2022
c1517d1
Merge branch 'develop' of https://github.com/Bit-Quill/amazon-documen…
May 3, 2022
a19bbaa
Merge pull request #20 from Bit-Quill/integrate-mirror
May 3, 2022
8e7de07
Birschick bq/sync up (#21)
May 14, 2022
dc215fd
[AD-735] large dataset crash issue (#23)
RoyZhang2022 May 17, 2022
ba4b68f
SQLPrimaryKey using JNI
RoyZhang2022 May 19, 2022
edb9459
odbc test failure fix
RoyZhang2022 May 19, 2022
f7bb6dc
Revert "odbc test failure fix"
RoyZhang2022 May 19, 2022
2b273f9
Revert "SQLPrimaryKey using JNI"
RoyZhang2022 May 19, 2022
347b02a
[AD-550] Adapt Foreign Keys (#24)
alinaliBQ May 26, 2022
9cc2a02
[AD-649] Add missing documentation (#29)
May 26, 2022
d3080ca
Fix README.md (#30)
May 26, 2022
ad03fa8
[AD 551] Adapt Primary Keys (#26)
RoyZhang2022 May 27, 2022
bddc6cd
[AD-751] make getColumns/getTables pass nullptr for catalog and schem…
alinaliBQ May 30, 2022
712d454
AD-757 remove unused functions (#31)
RoyZhang2022 May 31, 2022
afaf7d7
[AD-563] Remove unnecessary libraries (#33)
RoyZhang2022 Jun 6, 2022
be15e34
adding measuring times
affonsov Jun 6, 2022
2d39b5f
adding elapsed time
affonsov Jun 6, 2022
5ebaab9
[AD-771] fix issue of JDBC not returning tables (#37)
alinaliBQ Jun 8, 2022
2ce85ec
performance improvement
affonsov Jun 10, 2022
82189de
[AD-621] adapt SQLColAttribute (#32)
alinaliBQ Jun 10, 2022
c249d02
[AD-621] sync with odbc repo (#39)
alinaliBQ Jun 10, 2022
6ee742f
Merge remote-tracking branch 'origin/develop' into affonsov/performan…
affonsov Jun 14, 2022
c2b0254
Merge branch 'affonsov/performance-investigation' of github.com:aws/a…
affonsov Jun 14, 2022
5a5388a
removing code
affonsov Jun 14, 2022
2aaef2a
readding log msg
affonsov Jun 14, 2022
0906cfa
removing trailing spaces
affonsov Jun 14, 2022
547edf2
removing auth mechanism
affonsov Jun 14, 2022
41d814d
fixing connection string
affonsov Jun 14, 2022
085dc07
[AD-753] check JVM attach result before use it (#38)
RoyZhang2022 Jun 14, 2022
5bf37c1
Merge remote-tracking branch 'origin/develop' into affonsov/performan…
affonsov Jun 14, 2022
fb61c7b
perf improvement
affonsov Jun 14, 2022
2fe5d9a
fix odbc.cpp
affonsov Jun 14, 2022
7c84e5c
[AD-772] add bug fix to iterate past vector end (#40)
alinaliBQ Jun 14, 2022
7a72e65
[AD-801] add log (#42)
alinaliBQ Jun 15, 2022
ef831d6
[AD-573] unicode port ( ODBC W API Interfaces) (#36)
Jun 16, 2022
1237251
getting defaut fetch size from configuration
affonsov Jun 16, 2022
c7b6ea0
using get default size
affonsov Jun 17, 2022
7f25089
code format change (#45)
RoyZhang2022 Jun 17, 2022
fcf3cc7
[AD-572] iODBC port (driver is using unixodbc) (#46)
Jun 21, 2022
6453a23
Merge branch 'develop' of https://github.com/Bit-Quill/amazon-documen…
Jun 21, 2022
15d7e16
Merge branch 'affonsov/performance-investigation' of https://github.c…
Jun 21, 2022
59a19a8
Merge branch 'develop' into affonsov/performance-investigation
Jun 22, 2022
35070fb
Merge branch 'affonsov/performance-investigation' of https://github.c…
Jun 22, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/odbc/src/connection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -660,9 +660,11 @@ std::string Connection::FormatMongoCppConnectionString(
mongoConnectionString.append("@" + host);
mongoConnectionString.append(":" + port);
mongoConnectionString.append("/admin");
mongoConnectionString.append("?authMechanism=SCRAM-SHA-1");
if (config_.IsTls()) {
mongoConnectionString.append("?tlsAllowInvalidHostnames=true");
mongoConnectionString.append("&tlsAllowInvalidHostnames=true");
}

// tls configuration is handled using tls_options in connectionCPP
// TODO handle the other DSN configuration
// https://bitquill.atlassian.net/browse/AD-599
Expand Down
4 changes: 3 additions & 1 deletion src/odbc/src/query/data_query.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,9 @@ SqlResult::Type DataQuery::MakeRequestFetch() {
for (auto const& stage : aggregateOperations) {
pipeline.append_stage(bsoncxx::from_json(stage));
}
mongocxx::cursor cursor = collection.aggregate(pipeline);
auto options = mongocxx::options::aggregate{};
options.batch_size(config.GetDefaultFetchSize());
mongocxx::cursor cursor = collection.aggregate(pipeline, options);

this->cursor_.reset(new DocumentDbCursor(cursor, columnMetadata, paths));

Expand Down
2 changes: 2 additions & 0 deletions src/tests/performance/include/performance_test_runner.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ struct TestCase {
std::vector< long long > time_ms; // time for exec->bind->fetch combined
std::vector< long long > time_exec_ms;
std::vector< long long > time_bind_fetch_ms;
std::vector< long long > time_bind_ms;
std::vector< long long > time_fetch_ms;
StatisticalInfo stat_info;
StatisticalInfo stat_info_exec;
StatisticalInfo stat_info_bind_fetch;
Expand Down
45 changes: 39 additions & 6 deletions src/tests/performance/src/performance_test_runner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,8 @@ void performance::PerformanceTestRunner::RecordExecBindFetch(
SQLROWSETSIZE row_count;
long long time_exec_ms;
long long time_bind_fetch_ms;
long long time_bind_ms;
long long time_fetch_ms;
std::vector< Col > cols;

// Query
Expand Down Expand Up @@ -450,7 +452,7 @@ void performance::PerformanceTestRunner::RecordExecBindFetch(
}

// Bind and fetch and record time
auto time_bind_fetch_start = std::chrono::steady_clock::now();
auto time_bind_start = std::chrono::steady_clock::now();
for (size_t i = 0; i < static_cast< size_t >(total_columns); i++) {
ret = SQLBindCol(*hstmt, static_cast< SQLUSMALLINT >(i + 1), SQL_C_CHAR,
static_cast< SQLPOINTER >(&cols[i].data_dat[0]),
Expand All @@ -462,18 +464,28 @@ void performance::PerformanceTestRunner::RecordExecBindFetch(
return; // continue to next test case
}
}
auto time_bind_end = std::chrono::steady_clock::now();

auto time_fetch_start = std::chrono::steady_clock::now();
while (SQLFetch(*hstmt) == SQL_SUCCESS) {
row_count++;
}
auto time_fetch_end = std::chrono::steady_clock::now();

auto time_bind_fetch_end = std::chrono::steady_clock::now();
// Store bind and fetch time
time_bind_ms = std::chrono::duration_cast< std::chrono::milliseconds >(
time_bind_end - time_bind_start)
.count();
test_case.time_bind_ms.push_back(time_bind_ms);

// Store bind and fetch time
time_fetch_ms = std::chrono::duration_cast< std::chrono::milliseconds >(
time_fetch_end - time_fetch_start)
.count();
test_case.time_fetch_ms.push_back(time_fetch_ms);

// Store bind and fetch time
time_bind_fetch_ms =
std::chrono::duration_cast< std::chrono::milliseconds >(
time_bind_fetch_end - time_bind_fetch_start)
.count();
time_bind_fetch_ms = time_bind_ms + time_fetch_ms;
test_case.time_bind_fetch_ms.push_back(time_bind_fetch_ms);

test_case.time_ms.push_back(time_exec_ms + time_bind_fetch_ms);
Expand Down Expand Up @@ -646,6 +658,22 @@ void performance::PerformanceTestRunner::ReportTime(const TestCase& test_case) {
}
std::cout << "\n\n";

std::cout << "SQLBindCol time dump: ";
for (size_t i = 0; i < test_case.time_bind_ms.size(); i++) {
std::cout << test_case.time_bind_ms[i] << " ms";
if (i != (test_case.time_bind_ms.size() - 1))
std::cout << ", ";
}
std::cout << "\n\n";
std::cout << "SQLFetch time dump: ";
for (size_t i = 0; i < test_case.time_fetch_ms.size(); i++) {
std::cout << test_case.time_fetch_ms[i] << " ms";
if (i != (test_case.time_fetch_ms.size() - 1))
std::cout << ", ";
}

std::cout << "\n\n";

} else if (_output_mode == 2) {
std::cout << sync_min << test_case.stat_info_bind_fetch.min << " ms"
<< std::endl;
Expand Down Expand Up @@ -981,6 +1009,11 @@ void performance::PerformanceTestRunner::RunPerformanceTestPlan() {
test_case.test_name.clear();
test_case.time_ms.clear();

test_case.time_exec_ms.clear();
test_case.time_bind_fetch_ms.clear();
test_case.time_bind_ms.clear();
test_case.time_fetch_ms.clear();

// Deallocate Statement Handle
if (SQL_NULL_HSTMT != _hstmt) {
CloseCursor(&_hstmt, true, true);
Expand Down