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
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to