Hello Alexey Serbin,
I'd like you to do a code review. Please visit
http://gerrit.cloudera.org:8080/19920
to review the following change.
Change subject: KUDU-1945 Add C++ example for non-unique PK
......................................................................
KUDU-1945 Add C++ example for non-unique PK
This patch adds an example based on Kudu C++ client API to showcase the
main operations performed on a table having a non-unique primary key.
STDOUT of the example:
Created a client connection
Created the schema:
(
non_unique_key INT32 NOT NULL,
auto_incrementing_id INT64 NOT NULL,
int_val INT32 NOT NULL,
PRIMARY KEY (non_unique_key, auto_incrementing_id)
)
Created the table
Inserted some row(s) into the table:
(int32 non_unique_key=3, int64 auto_incrementing_id=1, int32 int_val=0)
(int32 non_unique_key=3, int64 auto_incrementing_id=2, int32 int_val=1)
(int32 non_unique_key=3, int64 auto_incrementing_id=3, int32 int_val=2)
(int32 non_unique_key=4, int64 auto_incrementing_id=4, int32 int_val=0)
(int32 non_unique_key=1, int64 auto_incrementing_id=1, int32 int_val=0)
(int32 non_unique_key=1, int64 auto_incrementing_id=2, int32 int_val=1)
(int32 non_unique_key=1, int64 auto_incrementing_id=3, int32 int_val=2)
(int32 non_unique_key=2, int64 auto_incrementing_id=4, int32 int_val=0)
(int32 non_unique_key=2, int64 auto_incrementing_id=5, int32 int_val=1)
(int32 non_unique_key=2, int64 auto_incrementing_id=6, int32 int_val=2)
Demonstrating scanning ...
Scanned some row(s) WHERE non_unique_key = 1:
(int32 non_unique_key=1, int64 auto_incrementing_id=1, int32 int_val=0)
(int32 non_unique_key=1, int64 auto_incrementing_id=2, int32 int_val=1)
(int32 non_unique_key=1, int64 auto_incrementing_id=3, int32 int_val=2)
Demonstrating UPDATE ...
Updated row(s) WHERE non_unique_key = 1 AND int_val = 2 to int_val = 98
(int32 non_unique_key=3, int64 auto_incrementing_id=1, int32 int_val=0)
(int32 non_unique_key=3, int64 auto_incrementing_id=2, int32 int_val=1)
(int32 non_unique_key=3, int64 auto_incrementing_id=3, int32 int_val=2)
(int32 non_unique_key=4, int64 auto_incrementing_id=4, int32 int_val=0)
(int32 non_unique_key=1, int64 auto_incrementing_id=1, int32 int_val=0)
(int32 non_unique_key=1, int64 auto_incrementing_id=2, int32 int_val=1)
(int32 non_unique_key=1, int64 auto_incrementing_id=3, int32 int_val=98)
(int32 non_unique_key=2, int64 auto_incrementing_id=4, int32 int_val=0)
(int32 non_unique_key=2, int64 auto_incrementing_id=5, int32 int_val=1)
(int32 non_unique_key=2, int64 auto_incrementing_id=6, int32 int_val=2)
Updated row(s) WHERE non_unique_key = 2 to int_val = 99
(int32 non_unique_key=3, int64 auto_incrementing_id=1, int32 int_val=0)
(int32 non_unique_key=3, int64 auto_incrementing_id=2, int32 int_val=1)
(int32 non_unique_key=3, int64 auto_incrementing_id=3, int32 int_val=2)
(int32 non_unique_key=4, int64 auto_incrementing_id=4, int32 int_val=0)
(int32 non_unique_key=1, int64 auto_incrementing_id=1, int32 int_val=0)
(int32 non_unique_key=1, int64 auto_incrementing_id=2, int32 int_val=1)
(int32 non_unique_key=1, int64 auto_incrementing_id=3, int32 int_val=98)
(int32 non_unique_key=2, int64 auto_incrementing_id=4, int32 int_val=99)
(int32 non_unique_key=2, int64 auto_incrementing_id=5, int32 int_val=99)
(int32 non_unique_key=2, int64 auto_incrementing_id=6, int32 int_val=99)
Updated row(s) WHERE non_unique_key = 2 AND auto_incrementing_id = 5 to\
int_val = 100
(int32 non_unique_key=3, int64 auto_incrementing_id=1, int32 int_val=0)
(int32 non_unique_key=3, int64 auto_incrementing_id=2, int32 int_val=1)
(int32 non_unique_key=3, int64 auto_incrementing_id=3, int32 int_val=2)
(int32 non_unique_key=4, int64 auto_incrementing_id=4, int32 int_val=0)
(int32 non_unique_key=1, int64 auto_incrementing_id=1, int32 int_val=0)
(int32 non_unique_key=1, int64 auto_incrementing_id=2, int32 int_val=1)
(int32 non_unique_key=1, int64 auto_incrementing_id=3, int32 int_val=98)
(int32 non_unique_key=2, int64 auto_incrementing_id=4, int32 int_val=99)
(int32 non_unique_key=2, int64 auto_incrementing_id=5, int32 int_val=\
100)
(int32 non_unique_key=2, int64 auto_incrementing_id=6, int32 int_val=99)
Demonstrating DELETE ...
Deleted row(s) WHERE non_unique_key = 3 AND int_val = 1
(int32 non_unique_key=3, int64 auto_incrementing_id=1, int32 int_val=0)
(int32 non_unique_key=3, int64 auto_incrementing_id=3, int32 int_val=2)
(int32 non_unique_key=4, int64 auto_incrementing_id=4, int32 int_val=0)
(int32 non_unique_key=1, int64 auto_incrementing_id=1, int32 int_val=0)
(int32 non_unique_key=1, int64 auto_incrementing_id=2, int32 int_val=1)
(int32 non_unique_key=1, int64 auto_incrementing_id=3, int32 int_val=98)
(int32 non_unique_key=2, int64 auto_incrementing_id=4, int32 int_val=99)
(int32 non_unique_key=2, int64 auto_incrementing_id=5, int32 int_val=\
100)
(int32 non_unique_key=2, int64 auto_incrementing_id=6, int32 int_val=99)
Deleted row(s) WHERE non_unique_key = 2
(int32 non_unique_key=3, int64 auto_incrementing_id=1, int32 int_val=0)
(int32 non_unique_key=3, int64 auto_incrementing_id=3, int32 int_val=2)
(int32 non_unique_key=4, int64 auto_incrementing_id=4, int32 int_val=0)
(int32 non_unique_key=1, int64 auto_incrementing_id=1, int32 int_val=0)
(int32 non_unique_key=1, int64 auto_incrementing_id=2, int32 int_val=1)
(int32 non_unique_key=1, int64 auto_incrementing_id=3, int32 int_val=98)
Deleted row(s) WHERE non_unique_key = 3 AND auto_incrementing_id = 3
(int32 non_unique_key=3, int64 auto_incrementing_id=1, int32 int_val=0)
(int32 non_unique_key=4, int64 auto_incrementing_id=4, int32 int_val=0)
(int32 non_unique_key=1, int64 auto_incrementing_id=1, int32 int_val=0)
(int32 non_unique_key=1, int64 auto_incrementing_id=2, int32 int_val=1)
(int32 non_unique_key=1, int64 auto_incrementing_id=3, int32 int_val=98)
Deleted the table
Done
Change-Id: I8c6be6bece56788dc858468d1fcccff6955836ec
Reviewed-on: http://gerrit.cloudera.org:8080/19690
Tested-by: Alexey Serbin <[email protected]>
Reviewed-by: Alexey Serbin <[email protected]>
---
M examples/cpp/CMakeLists.txt
A examples/cpp/non_unique_primary_key.cc
M src/kudu/client/CMakeLists.txt
M src/kudu/client/client_examples-test.sh
4 files changed, 381 insertions(+), 0 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/20/19920/1
--
To view, visit http://gerrit.cloudera.org:8080/19920
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: branch-1.17.x
Gerrit-MessageType: newchange
Gerrit-Change-Id: I8c6be6bece56788dc858468d1fcccff6955836ec
Gerrit-Change-Number: 19920
Gerrit-PatchSet: 1
Gerrit-Owner: Yingchun Lai <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Marton Greber <[email protected]>