Changeset: d9be4884d389 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d9be4884d389
Modified Files:
        ctest/tools/monetdbe/example_backup.c
        tools/monetdbe/monetdbe.c
        tools/monetdbe/monetdbe.h
Branch: default
Log Message:

change monetdbe_backup in monetdbe_dump_database
added monetdbe_dump_table
added monetdbe_memorylimit


diffs (109 lines):

diff --git a/ctest/tools/monetdbe/example_backup.c 
b/ctest/tools/monetdbe/example_backup.c
--- a/ctest/tools/monetdbe/example_backup.c
+++ b/ctest/tools/monetdbe/example_backup.c
@@ -25,7 +25,7 @@ main(void)
        if ((err = monetdbe_query(mdbe, "INSERT INTO test VALUES (TRUE, 42, 42, 
42, 42, 42, 42.42, 42.42, 'Hello'), (NULL, NULL, NULL, NULL, NULL, NULL, NULL, 
NULL, 'World')", NULL, NULL)) != NULL)
                error(err)
 
-       msg = monetdbe_backup(mdbe, "/tmp/backup");
+       msg = monetdbe_dump_database(mdbe, "/tmp/backup");
 
        if ((msg = monetdbe_close(mdbe)) != NULL)
                error(msg);
diff --git a/tools/monetdbe/monetdbe.c b/tools/monetdbe/monetdbe.c
--- a/tools/monetdbe/monetdbe.c
+++ b/tools/monetdbe/monetdbe.c
@@ -555,14 +555,15 @@ monetdbe_close(monetdbe_database dbhdl)
 
 /* needs to be before the undef of the bool type */
 extern int dump_database(Mapi mid, stream *toConsole, bool describe, bool 
useInserts);
+extern int dump_table(Mapi mid, const char *schema, const char *tname, stream 
*toConsole, bool describe, bool foreign, bool useInserts, bool databaseDump);
 
 char* 
-monetdbe_backup(monetdbe_database dbhdl, char *backupfile)
+monetdbe_dump_database(monetdbe_database dbhdl, const char *filename)
 {
        char* msg = MAL_SUCCEED;
 
        MT_lock_set(&embedded_lock);
-       if ((msg = validate_database_handle(dbhdl, "embedded.monetdbe_backup")) 
!= MAL_SUCCEED) {
+       if ((msg = validate_database_handle(dbhdl, 
"embedded.monetdbe_dump_database")) != MAL_SUCCEED) {
                MT_lock_unset(&embedded_lock);
                return msg; //The dbhdl is invalid, there is no transaction 
going
        }
@@ -570,7 +571,7 @@ monetdbe_backup(monetdbe_database dbhdl,
 
        mid.mdbe = dbhdl;
        /* open file stream */
-       stream *fd = open_wastream(backupfile);
+       stream *fd = open_wastream(filename);
        if (fd) {
                if (dump_database(&mid, fd, 0, 0)) {
                        if (mid.msg)
@@ -578,12 +579,50 @@ monetdbe_backup(monetdbe_database dbhdl,
                }
                close_stream(fd);
        } else {
-               msg = createException(MAL, "embedded.monetdbe_backup", "Unable 
too open backup file %s", backupfile);
+               msg = createException(MAL, "embedded.monetdbe_dump_database", 
"Unable too open file %s", filename);
        }
 
        MT_lock_unset(&embedded_lock);
        return msg;
 }
+
+char* 
+monetdbe_dump_table(monetdbe_database dbhdl, const char *sname, const char 
*tname, const char *filename)
+{
+       char* msg = MAL_SUCCEED;
+
+       MT_lock_set(&embedded_lock);
+       if ((msg = validate_database_handle(dbhdl, 
"embedded.monetdbe_dump_table")) != MAL_SUCCEED) {
+               MT_lock_unset(&embedded_lock);
+               return msg; //The dbhdl is invalid, there is no transaction 
going
+       }
+       struct MapiStruct mid;
+
+       mid.mdbe = dbhdl;
+       /* open file stream */
+       stream *fd = open_wastream(filename);
+       if (fd) {
+               if (dump_table(&mid, sname, tname, fd, 0, 0, 0, 0)) {
+                       if (mid.msg)
+                               msg = mid.msg;
+               }
+               close_stream(fd);
+       } else {
+               msg = createException(MAL, "embedded.monetdbe_dump_table", 
"Unable too open file %s", filename);
+       }
+
+       MT_lock_unset(&embedded_lock);
+       return msg;
+}
+
+char*
+monetdbe_memorylimit(monetdbe_database dbhdl, monetdbe_cnt bytes)
+{
+       (void)dbhdl;
+       (void)bytes;
+       return MAL_SUCCEED;
+}
+
 char*
 monetdbe_get_autocommit(monetdbe_database dbhdl, int* result)
 {
diff --git a/tools/monetdbe/monetdbe.h b/tools/monetdbe/monetdbe.h
--- a/tools/monetdbe/monetdbe.h
+++ b/tools/monetdbe/monetdbe.h
@@ -140,7 +140,10 @@ monetdbe_export char* monetdbe_append(mo
 monetdbe_export char* monetdbe_get_table(monetdbe_database dbhdl, 
monetdbe_table** table, const char* schema_name, const char* table_name);
 monetdbe_export char* monetdbe_get_columns(monetdbe_database dbhdl, const 
char* schema_name, const char *table_name, size_t *column_count, char 
***column_names, int **column_types);
 
-monetdbe_export char* monetdbe_backup(monetdbe_database dbhdl, char 
*backupfile);
+monetdbe_export char* monetdbe_dump_database(monetdbe_database dbhdl, const 
char *backupfile);
+monetdbe_export char* monetdbe_dump_table(monetdbe_database dbhdl, const char 
*schema_name, const char *table_name, const char *backupfile);
+
+monetdbe_export char* monetdbe_memorylimit(monetdbe_database dbhdl, 
monetdbe_cnt bytes);
 
 #ifdef __cplusplus
 }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to