You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 20, 2023. It is now read-only.
Copy file name to clipboardExpand all lines: .github/ISSUE_TEMPLATE/noisepage-issue-template.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,16 +50,16 @@ To address the bug, especially if it environment specific, we need to know what
50
50
51
51
## Steps to Reproduce
52
52
Whenever possible, retrace how you came about the problem and describe so here. An [example](https://github.com/cmu-db/noisepage/issues/1117) from an issue by @jkosh44 follows:
53
-
1. Compile with the following args: -DCMAKE_BUILD_TYPE=Debug -DTERRIER_USE_ASAN=ON
54
-
2. Run terrier with parallel execution turned off terrier -parallel_execution=false
53
+
1. Compile with the following args: -DCMAKE_BUILD_TYPE=Debug -DNOISEPAGE_USE_ASAN=ON
54
+
2. Run NoisePage with parallel execution turned off noisepage -parallel_execution=false
55
55
3. Run a built in function with an empty string (ex: SELECT STARTS_WITH('HELLO', '');)
56
56
57
57
If you have an understanding of why the bug occurred, that would be awesome to include as well! In this case, be as descriptive as you can and provide references to lines of code in the code whenever possible! An [example](https://github.com/cmu-db/noisepage/issues/1158) from an issue by @tanujnay112 follows:
58
58
59
59
`Insert into select` currently doesn't insert anything and does not generate code to do so for a few reasons.
60
60
1. InsertTranslator doesn't call prepare on its children if such children exist.
61
61
2. The InsertPlanNode needs to have DerivedValueExpressions in its values_ vector to signify tuples that are derived from its children for insertion. This should be done in plan_generator.cpp. Otherwise, there is nothing in the values_ vector during INSERT INTO SELECT and the insert translator generates nothing.
62
-
3. Also, in order for the children of the insert node to pass up tuples the InsertSelect node needs to request the required columns from the descendant scan node [here](https://github.com/cmu-db/terrier/blob/d60db2a543eed2c0463d2fae02eb4bc39628b4f8/src/optimizer/input_column_deriver.cpp#L233). Currently this just passes down required columns from above which is incorrect. You can't request columns from an Insert node. Also, at this point we must generate the required columns to request from the children. In the event that we have a INSERT INTO yyy SELECT * FROM xxx;, we can easily just query all the columns oids in xxx and request those columns. The tableoid of xxx is stored in the child of the concerned InsertSelect node.
62
+
3. Also, in order for the children of the insert node to pass up tuples the InsertSelect node needs to request the required columns from the descendant scan node [here](https://github.com/cmu-db/noisepage/blob/d60db2a543eed2c0463d2fae02eb4bc39628b4f8/src/optimizer/input_column_deriver.cpp#L233). Currently this just passes down required columns from above which is incorrect. You can't request columns from an Insert node. Also, at this point we must generate the required columns to request from the children. In the event that we have a INSERT INTO yyy SELECT * FROM xxx;, we can easily just query all the columns oids in xxx and request those columns. The tableoid of xxx is stored in the child of the concerned InsertSelect node.
63
63
4. The information stored in InsertSelect is incomplete. While the vanilla Insert physical operator node has this that allows us to know which columns we are inserting into, the InsertSelect operator has no equivalent even though this information is necessary.
64
64
65
65
### Expected Behavior
@@ -95,21 +95,21 @@ Fill in the behavior you actually observed for our system.
95
95
96
96
Useful things to include here are code snippets showing the command run and the output observed and screenshots of issues. An [example](https://github.com/cmu-db/noisepage/issues/1150) from an issue by @lmwnshn follows:
97
97
```SQL
98
-
terrier=# create table foo (a int);
98
+
noisepage=# create table foo (a int);
99
99
CREATE TABLE
100
-
terrier=# insert into foo values (1);
100
+
noisepage=# insert into foo values (1);
101
101
INSERT 01
102
-
terrier=# insert into foo values (1);
102
+
noisepage=# insert into foo values (1);
103
103
INSERT 01
104
-
terrier=# insert into foo values (2);
104
+
noisepage=# insert into foo values (2);
105
105
INSERT 01
106
-
terrier=# select a, sum(a) from foo group by a;
106
+
noisepage=# select a, sum(a) from foo group by a;
107
107
a | ?column?
108
108
---+----------
109
109
1 | 2
110
110
2 | 2
111
111
(2 rows)
112
-
terrier=# select a, sum(a) from foo group by a order by a;
112
+
noisepage=# select a, sum(a) from foo group by a order by a;
0 commit comments