Changeset: 4af8fff938fb for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4af8fff938fb
Modified Files:
sql/backends/monet5/miniseed/registrar.c
Branch: DVframework
Log Message:
Renewed register functions.
diffs (truncated from 560 to 300 lines):
diff --git a/sql/backends/monet5/miniseed/registrar.c
b/sql/backends/monet5/miniseed/registrar.c
--- a/sql/backends/monet5/miniseed/registrar.c
+++ b/sql/backends/monet5/miniseed/registrar.c
@@ -10,6 +10,10 @@
#include "sql_mvc.h"
#include "sql.h"
+#include "stream.h"
+#include "sql_scenario.h"
+#include "mal_linker.h"
+
#ifdef HAVE_PTHREAD_H
#include <pthread.h>
#endif
@@ -42,6 +46,7 @@ typedef struct {
int mode; /* carries to the thread */
Client cntxt; /* carries to the thread */
int *function_created;
+ int base_file_id;
} thread_argv;
lng get_line_num(str filename);
@@ -55,16 +60,17 @@ str mseed_create_temp_container(temp_con
str mseed_create_temp_container_with_data_tables(temp_container* ret_tc);
str mseed_create_temp_container_segments_mode(temp_container* ret_tc);
str mseed_create_temp_container_with_data_tables_segments_mode(temp_container*
ret_tc);
-str mseed_register(str file_path, temp_container* ret_tc);
-str mseed_register_and_mount(str file_path, temp_container* ret_tc);
-str mseed_register_segments_mode(str file_path, temp_container* ret_tc);
-str mseed_register_and_mount_segments_mode(str file_path, temp_container*
ret_tc);
+str mseed_register(int assigned_file_id, str file_path, temp_container*
ret_tc);
+str mseed_register_and_mount(int assigned_file_id, str file_path,
temp_container* ret_tc);
+str mseed_register_segments_mode(int assigned_file_id, str file_path,
temp_container* ret_tc);
+str mseed_register_and_mount_segments_mode(int assigned_file_id, str
file_path, temp_container* ret_tc);
int concatenate_strs(str* words_to_concat, int num_words_to_concat, str*
ret_concatenated);
str prepare_insertion(Client cntxt, temp_container* tc);
str insert_into_vault(Client cntxt, temp_container* tc);
str SQLstatementIntern(Client c, str *expr, str nme, int execute, bit output);
str register_clean_up(temp_container* tc);
void *register_files(void *args);
+// static str runSQLQuery(Client c, char **result, char * query);
pthread_mutex_t create_lock;
pthread_mutex_t insert_lock;
@@ -976,7 +982,7 @@ str register_clean_up(temp_container* tc
* TODO: A better interface can be provided to submit values for the attributes
* of tables_to_be_filled.
*/
-str mseed_register(str file_path, temp_container* ret_tc)
+str mseed_register(int assigned_file_id, str file_path, temp_container* ret_tc)
{
MSRecord *msr = NULL;
@@ -998,51 +1004,56 @@ str mseed_register(str file_path, temp_c
{
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[0])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) file_path, FALSE);
+ BUNappend(aBAT, (ptr) &assigned_file_id, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[0]);
-
+
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[1])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- ch[0] = msr->dataquality;
- BUNappend(aBAT, (ptr) ch, FALSE);
+ BUNappend(aBAT, (ptr) file_path, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[1]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[2])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) msr->network, FALSE);
+ ch[0] = msr->dataquality;
+ BUNappend(aBAT, (ptr) ch, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[2]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[3])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) msr->station, FALSE);
+ BUNappend(aBAT, (ptr) msr->network, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[3]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[4])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) msr->location, FALSE);
+ BUNappend(aBAT, (ptr) msr->station, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[4]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[5])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) msr->channel, FALSE);
+ BUNappend(aBAT, (ptr) msr->location, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[5]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[6])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) &(msr->encoding), FALSE);
+ BUNappend(aBAT, (ptr) msr->channel, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[6]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[7])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
+ BUNappend(aBAT, (ptr) &(msr->encoding), FALSE);
+ BBPreleaseref(ret_tc->tables_columns[0].column_bats[7]);
+
+ if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[8])) == NULL)
+ throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
BUNappend(aBAT, (ptr) &(msr->byteorder), FALSE);
- BBPreleaseref(ret_tc->tables_columns[0].column_bats[7]);
+ BBPreleaseref(ret_tc->tables_columns[0].column_bats[8]);
files_done = TRUE;
}
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[1].column_bats[0])) == NULL)
throw(MAL, "mseed_register", RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) file_path, FALSE);
+ BUNappend(aBAT, (ptr) &assigned_file_id, FALSE);
BBPreleaseref(ret_tc->tables_columns[1].column_bats[0]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[1].column_bats[1])) == NULL)
@@ -1105,7 +1116,7 @@ str mseed_register(str file_path, temp_c
* TODO: A better interface can be provided to submit values for the attributes
* of tables_to_be_filled.
*/
-str mseed_register_and_mount(str file_path, temp_container* ret_tc)
+str mseed_register_and_mount(int assigned_file_id, str file_path,
temp_container* ret_tc)
{
MSRecord *msr = NULL;
@@ -1130,51 +1141,56 @@ str mseed_register_and_mount(str file_pa
{
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[0])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) file_path, FALSE);
+ BUNappend(aBAT, (ptr) &assigned_file_id, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[0]);
-
+
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[1])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- ch[0] = msr->dataquality;
- BUNappend(aBAT, (ptr) ch, FALSE);
+ BUNappend(aBAT, (ptr) file_path, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[1]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[2])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) msr->network, FALSE);
+ ch[0] = msr->dataquality;
+ BUNappend(aBAT, (ptr) ch, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[2]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[3])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) msr->station, FALSE);
+ BUNappend(aBAT, (ptr) msr->network, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[3]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[4])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) msr->location, FALSE);
+ BUNappend(aBAT, (ptr) msr->station, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[4]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[5])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) msr->channel, FALSE);
+ BUNappend(aBAT, (ptr) msr->location, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[5]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[6])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) &(msr->encoding), FALSE);
+ BUNappend(aBAT, (ptr) msr->channel, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[6]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[7])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
+ BUNappend(aBAT, (ptr) &(msr->encoding), FALSE);
+ BBPreleaseref(ret_tc->tables_columns[0].column_bats[7]);
+
+ if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[8])) == NULL)
+ throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
BUNappend(aBAT, (ptr) &(msr->byteorder), FALSE);
- BBPreleaseref(ret_tc->tables_columns[0].column_bats[7]);
+ BBPreleaseref(ret_tc->tables_columns[0].column_bats[8]);
files_done = TRUE;
}
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[1].column_bats[0])) == NULL)
throw(MAL, "mseed_register", RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) file_path, FALSE);
+ BUNappend(aBAT, (ptr) &assigned_file_id, FALSE);
BBPreleaseref(ret_tc->tables_columns[1].column_bats[0]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[1].column_bats[1])) == NULL)
@@ -1237,7 +1253,7 @@ str mseed_register_and_mount(str file_pa
MTIMEtimestamp_lng(&sampling_timestamp, &st);
/* For each sample add one row to the table */
- BUNappend(bfile, (ptr) file_path, FALSE);
+ BUNappend(bfile, (ptr) &assigned_file_id,
FALSE);
BUNappend(bseqno, (ptr) &seq_no, FALSE);
BUNappend(btime, (ptr) &sampling_timestamp,
FALSE);
BUNappend(bdata, (ptr) (data_samples+i), FALSE);
@@ -1274,7 +1290,7 @@ str mseed_register_and_mount(str file_pa
* TODO: A better interface can be provided to submit values for the attributes
* of tables_to_be_filled.
*/
-str mseed_register_segments_mode(str file_path, temp_container* ret_tc)
+str mseed_register_segments_mode(int assigned_file_id, str file_path,
temp_container* ret_tc)
{
MSTraceList *mstl = 0;
MSRecord *msr = NULL;
@@ -1309,44 +1325,49 @@ str mseed_register_segments_mode(str fil
{
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[0])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) file_path, FALSE);
+ BUNappend(aBAT, (ptr) &assigned_file_id, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[0]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[1])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- ch[0] = msr->dataquality;
- BUNappend(aBAT, (ptr) ch, FALSE);
+ BUNappend(aBAT, (ptr) file_path, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[1]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[2])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) msr->network, FALSE);
+ ch[0] = msr->dataquality;
+ BUNappend(aBAT, (ptr) ch, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[2]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[3])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) msr->station, FALSE);
+ BUNappend(aBAT, (ptr) msr->network, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[3]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[4])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) msr->location, FALSE);
+ BUNappend(aBAT, (ptr) msr->station, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[4]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[5])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) msr->channel, FALSE);
+ BUNappend(aBAT, (ptr) msr->location, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[5]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[6])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) &(msr->encoding), FALSE);
+ BUNappend(aBAT, (ptr) msr->channel, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[6]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[7])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
+ BUNappend(aBAT, (ptr) &(msr->encoding), FALSE);
+ BBPreleaseref(ret_tc->tables_columns[0].column_bats[7]);
+
+ if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[8])) == NULL)
+ throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
BUNappend(aBAT, (ptr) &(msr->byteorder), FALSE);
- BBPreleaseref(ret_tc->tables_columns[0].column_bats[7]);
+ BBPreleaseref(ret_tc->tables_columns[0].column_bats[8]);
files_done = TRUE;
}
@@ -1374,7 +1395,7 @@ str mseed_register_segments_mode(str fil
{
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[1].column_bats[0])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) file_path, FALSE);
+ BUNappend(aBAT, (ptr) &assigned_file_id, FALSE);
BBPreleaseref(ret_tc->tables_columns[1].column_bats[0]);
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[1].column_bats[1])) == NULL)
@@ -1479,7 +1500,7 @@ str mseed_register_segments_mode(str fil
* TODO: A better interface can be provided to submit values for the attributes
* of tables_to_be_filled.
*/
-str mseed_register_and_mount_segments_mode(str file_path, temp_container*
ret_tc)
+str mseed_register_and_mount_segments_mode(int assigned_file_id, str
file_path, temp_container* ret_tc)
{
MSTraceList *mstl = 0;
@@ -1518,44 +1539,49 @@ str mseed_register_and_mount_segments_mo
{
if ((aBAT =
BATdescriptor(ret_tc->tables_columns[0].column_bats[0])) == NULL)
throw(MAL, "mseed_register",
RUNTIME_OBJECT_MISSING);
- BUNappend(aBAT, (ptr) file_path, FALSE);
+ BUNappend(aBAT, (ptr) &assigned_file_id, FALSE);
BBPreleaseref(ret_tc->tables_columns[0].column_bats[0]);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list