Merge lp:~mmcm/akiban-server/sql-assemble-index-scan-pegged-count into lp:~akiban-technologies/akiban-server/trunk

Proposed by Mike McMahon
Status: Merged
Approved by: Thomas Jones-Low
Approved revision: 2672
Merged at revision: 2668
Proposed branch: lp:~mmcm/akiban-server/sql-assemble-index-scan-pegged-count
Merge into: lp:~akiban-technologies/akiban-server/trunk
Prerequisite: lp:~mmcm/akiban-server/sql-overload-complex-case
Diff against target: 55 lines (+14/-2)
5 files modified
src/main/java/com/akiban/sql/optimizer/rule/OperatorAssembler.java (+2/-2)
src/test/resources/com/akiban/sql/optimizer/rule/operator/README.txt (+2/-0)
src/test/resources/com/akiban/sql/optimizer/rule/operator/select-6.ddl (+3/-0)
src/test/resources/com/akiban/sql/optimizer/rule/operator/select-6.expected (+6/-0)
src/test/resources/com/akiban/sql/optimizer/rule/operator/select-6.sql (+1/-0)
To merge this branch: bzr merge lp:~mmcm/akiban-server/sql-assemble-index-scan-pegged-count
Reviewer Review Type Date Requested Status
Thomas Jones-Low Approve
Nathan Williams Approve
Review via email: mp+167668@code.launchpad.net

Description of the change

(Relatively) recently added key comparable code in index intersection was mistakenly using the same skip ("pegged") count for the left and right sides.

To post a comment you must log in.
Revision history for this message
Nathan Williams (nwilliams) wrote :

Makes sense. And tested.

review: Approve
Revision history for this message
Thomas Jones-Low (tjoneslo) wrote :

There were 4 failures during build/test:

* job insert-regression-test failed at build number 3804: http://sneezy.softstart.com:8080/job/insert-regression-test/3804/

* job sqlselect-regression-test failed at build number 1894: http://sneezy.softstart.com:8080/job/sqlselect-regression-test/1894/

* view must-pass failed: insert-regression-test is red

* view must-pass failed: sqlselect-regression-test is red

review: Needs Fixing
Revision history for this message
Thomas Jones-Low (tjoneslo) wrote :

This is my fault, and not related to the fix. Reapproving.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/main/java/com/akiban/sql/optimizer/rule/OperatorAssembler.java'
2--- src/main/java/com/akiban/sql/optimizer/rule/OperatorAssembler.java 2013-04-30 23:01:23 +0000
3+++ src/main/java/com/akiban/sql/optimizer/rule/OperatorAssembler.java 2013-06-05 23:02:25 +0000
4@@ -1125,8 +1125,8 @@
5
6 for (int n = 0; n < nFieldsToCompare; ++n)
7 {
8- TClass left = selectorRowType.typeInstanceAt(index.getPeggedCount() + n).typeClass();
9- TClass right = outputRowType.typeInstanceAt(index.getPeggedCount() + n).typeClass();
10+ TClass left = selectorRowType.typeInstanceAt(index.getSelectorIndexScan().getPeggedCount() + n).typeClass();
11+ TClass right = outputRowType.typeInstanceAt(index.getOutputIndexScan().getPeggedCount() + n).typeClass();
12 if (left != right)
13 comparisons.add(n, reg.getKeyComparable(left, right).getComparison());
14 else
15
16=== modified file 'src/test/resources/com/akiban/sql/optimizer/rule/operator/README.txt'
17--- src/test/resources/com/akiban/sql/optimizer/rule/operator/README.txt 2013-03-05 18:54:27 +0000
18+++ src/test/resources/com/akiban/sql/optimizer/rule/operator/README.txt 2013-06-05 23:02:25 +0000
19@@ -26,6 +26,8 @@
20
21 select-5: index one branch, join in another
22
23+select-6: index intersection with different column counts
24+
25 update-1: set to literal
26
27 geospatial-1: compute max radius for N neighbors
28
29=== added file 'src/test/resources/com/akiban/sql/optimizer/rule/operator/select-6.ddl'
30--- src/test/resources/com/akiban/sql/optimizer/rule/operator/select-6.ddl 1970-01-01 00:00:00 +0000
31+++ src/test/resources/com/akiban/sql/optimizer/rule/operator/select-6.ddl 2013-06-05 23:02:25 +0000
32@@ -0,0 +1,3 @@
33+CREATE TABLE t(id BIGINT NOT NULL PRIMARY KEY, viewable_id INT, viewable_type VARCHAR(255), type VARCHAR(75));
34+CREATE INDEX viewable_id ON t(viewable_id);
35+CREATE INDEX viewable_type_and_type ON t(viewable_type, type);
36\ No newline at end of file
37
38=== added file 'src/test/resources/com/akiban/sql/optimizer/rule/operator/select-6.expected'
39--- src/test/resources/com/akiban/sql/optimizer/rule/operator/select-6.expected 1970-01-01 00:00:00 +0000
40+++ src/test/resources/com/akiban/sql/optimizer/rule/operator/select-6.expected 2013-06-05 23:02:25 +0000
41@@ -0,0 +1,6 @@
42+PhysicalSelect@533b13f9[_SQL_COL_1]
43+ Project_Default(Field(0))
44+ Count_Default(*)
45+ Intersect_Ordered(skip 1 left, skip 2 right, compare 1)
46+ IndexScan_Default(Index(test.t.viewable_id), viewable_id = 1, id ASC)
47+ IndexScan_Default(Index(test.t.viewable_type_and_type), viewable_type = 'bar', type = 'foo', id ASC)
48\ No newline at end of file
49
50=== added file 'src/test/resources/com/akiban/sql/optimizer/rule/operator/select-6.sql'
51--- src/test/resources/com/akiban/sql/optimizer/rule/operator/select-6.sql 1970-01-01 00:00:00 +0000
52+++ src/test/resources/com/akiban/sql/optimizer/rule/operator/select-6.sql 2013-06-05 23:02:25 +0000
53@@ -0,0 +1,1 @@
54+SELECT COUNT(*) FROM t WHERE type = 'foo' AND viewable_id = 1 AND viewable_type = 'bar'
55\ No newline at end of file

Subscribers

People subscribed via source and target branches