Changeset: dfe3ddc36d56 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dfe3ddc36d56
Modified Files:
clients/mapiclient/stethoscope.c
monetdb5/mal/mal_dataflow.c
sql/test/BugTracker-2009/Tests/insert_into_done_by_procedure.SF-2607293.sql
sql/test/BugTracker-2019/Tests/All
Branch: Nov2019
Log Message:
Merge with Apr2019 branch.
diffs (69 lines):
diff --git a/clients/mapiclient/stethoscope.c b/clients/mapiclient/stethoscope.c
--- a/clients/mapiclient/stethoscope.c
+++ b/clients/mapiclient/stethoscope.c
@@ -110,7 +110,7 @@ renderEvent(EventRecord *ev){
return;
fprintf(s, "[ ");
fprintf(s, "%"PRId64", ", ev->eventnr);
- printf("\"%s\", ", ev->time);
+ fprintf(s, "\"%s\", ", ev->time);
if( ev->function && *ev->function)
fprintf(s, "\"%s[%d]%d\", ", ev->function, ev->pc,
ev->tag);
else
diff --git a/monetdb5/mal/mal_dataflow.c b/monetdb5/mal/mal_dataflow.c
--- a/monetdb5/mal/mal_dataflow.c
+++ b/monetdb5/mal/mal_dataflow.c
@@ -234,26 +234,30 @@ q_dequeue(Queue *q, Client cntxt)
for (i = q->last - 1; i >= 0; i--) {
if (q->data[i]->flow->cntxt == cntxt) {
- if(minpc < 0){
+ if (q->last > 1024) {
+ /* for long "queues", just grab the
first eligible
+ * entry we encounter */
+ minpc = i;
+ break;
+ }
+ /* for shorter "queues", find the oldest
eligible entry */
+ if (minpc < 0) {
minpc = i;
s = q->data[i];
}
r = q->data[i];
- if( s && r && s->pc > r->pc){
+ if (s && r && s->pc > r->pc) {
minpc = i;
s = r;
}
}
}
- if( minpc >= 0){
+ if (minpc >= 0) {
r = q->data[minpc];
i = minpc;
q->last--;
- while (i < q->last) {
- q->data[i] = q->data[i + 1];
- i++;
- }
- } else r = NULL;
+ memmove(q->data + i, q->data + i + 1, (q->last - i) *
sizeof(q->data[0]));
+ }
MT_lock_unset(&q->l);
return r;
diff --git
a/sql/test/BugTracker-2009/Tests/insert_into_done_by_procedure.SF-2607293.sql
b/sql/test/BugTracker-2009/Tests/insert_into_done_by_procedure.SF-2607293.sql
---
a/sql/test/BugTracker-2009/Tests/insert_into_done_by_procedure.SF-2607293.sql
+++
b/sql/test/BugTracker-2009/Tests/insert_into_done_by_procedure.SF-2607293.sql
@@ -1,3 +1,5 @@
+start transaction;
+
create table get_results (schem string, clust string, real_time bigint);
create procedure save_times (schem string, clust string)
BEGIN
@@ -14,3 +16,5 @@ select * from get_results;
drop ALL procedure save_times;
drop table get_results;
+
+rollback;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list