duckdb 0.7.1-dev19.0 → 0.7.1-dev37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/duckdb/src/common/operator/cast_operators.cpp +4 -4
- package/src/duckdb/src/common/printer.cpp +1 -1
- package/src/duckdb/src/execution/operator/persistent/parallel_csv_reader.cpp +1 -1
- package/src/duckdb/src/function/table/read_csv.cpp +0 -3
- package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
- package/src/duckdb/src/planner/binder/tableref/bind_joinref.cpp +2 -1
- package/src/duckdb/src/planner/expression_binder/lateral_binder.cpp +21 -5
- package/src/duckdb/src/storage/storage_info.cpp +2 -1
package/package.json
CHANGED
|
@@ -946,13 +946,13 @@ static bool IntegerCastLoop(const char *buf, idx_t len, T &result, bool strict)
|
|
|
946
946
|
ExponentData exponent {0, false};
|
|
947
947
|
int negative = buf[pos] == '-';
|
|
948
948
|
if (negative) {
|
|
949
|
-
if (!IntegerCastLoop<ExponentData, true, false, IntegerCastOperation>(
|
|
950
|
-
|
|
949
|
+
if (!IntegerCastLoop<ExponentData, true, false, IntegerCastOperation, decimal_separator>(
|
|
950
|
+
buf + pos, len - pos, exponent, strict)) {
|
|
951
951
|
return false;
|
|
952
952
|
}
|
|
953
953
|
} else {
|
|
954
|
-
if (!IntegerCastLoop<ExponentData, false, false, IntegerCastOperation>(
|
|
955
|
-
|
|
954
|
+
if (!IntegerCastLoop<ExponentData, false, false, IntegerCastOperation, decimal_separator>(
|
|
955
|
+
buf + pos, len - pos, exponent, strict)) {
|
|
956
956
|
return false;
|
|
957
957
|
}
|
|
958
958
|
}
|
|
@@ -65,7 +65,7 @@ idx_t Printer::TerminalWidth() {
|
|
|
65
65
|
int columns, rows;
|
|
66
66
|
|
|
67
67
|
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi);
|
|
68
|
-
rows = csbi.srWindow.
|
|
68
|
+
rows = csbi.srWindow.Right - csbi.srWindow.Left + 1;
|
|
69
69
|
return rows;
|
|
70
70
|
#else
|
|
71
71
|
struct winsize w;
|
|
@@ -60,7 +60,7 @@ bool ParallelCSVReader::SetPosition(DataChunk &insert_chunk) {
|
|
|
60
60
|
verification_positions.end_of_last_line = position_buffer;
|
|
61
61
|
// First buffer doesn't need any setting
|
|
62
62
|
// Unless we have a header
|
|
63
|
-
if (options.header
|
|
63
|
+
if (options.header) {
|
|
64
64
|
for (; position_buffer < end_buffer; position_buffer++) {
|
|
65
65
|
if (StringUtil::CharacterIsNewline((*buffer)[position_buffer])) {
|
|
66
66
|
bool carrier_return = (*buffer)[position_buffer] == '\r';
|
|
@@ -251,9 +251,6 @@ public:
|
|
|
251
251
|
: file_handle(std::move(file_handle_p)), system_threads(system_threads_p), buffer_size(buffer_size_p),
|
|
252
252
|
force_parallelism(force_parallelism_p) {
|
|
253
253
|
current_file_path = files_path_p[0];
|
|
254
|
-
for (idx_t i = 0; i < rows_to_skip; i++) {
|
|
255
|
-
file_handle->ReadLine();
|
|
256
|
-
}
|
|
257
254
|
estimated_linenr = rows_to_skip;
|
|
258
255
|
file_size = file_handle->FileSize();
|
|
259
256
|
first_file_size = file_size;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#ifndef DUCKDB_VERSION
|
|
2
|
-
#define DUCKDB_VERSION "0.7.1-
|
|
2
|
+
#define DUCKDB_VERSION "0.7.1-dev37"
|
|
3
3
|
#endif
|
|
4
4
|
#ifndef DUCKDB_SOURCE_ID
|
|
5
|
-
#define DUCKDB_SOURCE_ID "
|
|
5
|
+
#define DUCKDB_SOURCE_ID "9ef9931d65"
|
|
6
6
|
#endif
|
|
7
7
|
#include "duckdb/function/table/system_functions.hpp"
|
|
8
8
|
#include "duckdb/main/database.hpp"
|
|
@@ -128,6 +128,8 @@ unique_ptr<BoundTableRef> Binder::Bind(JoinRef &ref) {
|
|
|
128
128
|
{
|
|
129
129
|
LateralBinder binder(left_binder, context);
|
|
130
130
|
result->right = right_binder.Bind(*ref.right);
|
|
131
|
+
result->correlated_columns = binder.ExtractCorrelatedColumns(right_binder);
|
|
132
|
+
|
|
131
133
|
result->lateral = binder.HasCorrelatedColumns();
|
|
132
134
|
if (result->lateral) {
|
|
133
135
|
// lateral join: can only be an INNER or LEFT join
|
|
@@ -135,7 +137,6 @@ unique_ptr<BoundTableRef> Binder::Bind(JoinRef &ref) {
|
|
|
135
137
|
throw BinderException("The combining JOIN type must be INNER or LEFT for a LATERAL reference");
|
|
136
138
|
}
|
|
137
139
|
}
|
|
138
|
-
result->correlated_columns = binder.ExtractCorrelatedColumns(right_binder);
|
|
139
140
|
}
|
|
140
141
|
|
|
141
142
|
vector<unique_ptr<ParsedExpression>> extra_conditions;
|
|
@@ -39,14 +39,30 @@ BindResult LateralBinder::BindColumnRef(unique_ptr<ParsedExpression> *expr_ptr,
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
vector<CorrelatedColumnInfo> LateralBinder::ExtractCorrelatedColumns(Binder &binder) {
|
|
42
|
+
|
|
43
|
+
if (correlated_columns.empty()) {
|
|
44
|
+
return binder.correlated_columns;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// clear outer
|
|
48
|
+
correlated_columns.clear();
|
|
42
49
|
auto all_correlated_columns = binder.correlated_columns;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
50
|
+
|
|
51
|
+
// remove outer from inner
|
|
52
|
+
for (auto &corr_column : correlated_columns) {
|
|
53
|
+
auto entry = std::find(binder.correlated_columns.begin(), binder.correlated_columns.end(), corr_column);
|
|
54
|
+
if (entry != binder.correlated_columns.end()) {
|
|
55
|
+
binder.correlated_columns.erase(entry);
|
|
47
56
|
}
|
|
48
|
-
binder.correlated_columns.erase(entry);
|
|
49
57
|
}
|
|
58
|
+
|
|
59
|
+
// add inner to outer
|
|
60
|
+
for (auto &corr_column : binder.correlated_columns) {
|
|
61
|
+
correlated_columns.push_back(corr_column);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// clear inner
|
|
65
|
+
binder.correlated_columns.clear();
|
|
50
66
|
return all_correlated_columns;
|
|
51
67
|
}
|
|
52
68
|
|
|
@@ -9,7 +9,8 @@ struct StorageVersionInfo {
|
|
|
9
9
|
idx_t storage_version;
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
static StorageVersionInfo storage_version_info[] = {{"v0.
|
|
12
|
+
static StorageVersionInfo storage_version_info[] = {{"v0.7.0", 43},
|
|
13
|
+
{"v0.6.0 or v0.6.1", 39},
|
|
13
14
|
{"v0.5.0 or v0.5.1", 38},
|
|
14
15
|
{"v0.3.3, v0.3.4 or v0.4.0", 33},
|
|
15
16
|
{"v0.3.2", 31},
|