added ALTER support

main
Samantha Wright 2024-10-03 18:42:23 -07:00
parent 78c4f41f28
commit c8f8270bbe
1 changed files with 8 additions and 3 deletions

View File

@ -41,7 +41,7 @@
#define FILE_STEP_SIZE 10 #define FILE_STEP_SIZE 10
#include <ARES/api/file.h.lsl> #include <ARES/api/file.h.lsl>
#include <ARES/api/auth.h.lsl> #include <ARES/api/auth.h.lsl>
#define CLIENT_VERSION "1.2.0" #define CLIENT_VERSION "1.2.1"
#define CLIENT_VERSION_TAGS "beta" #define CLIENT_VERSION_TAGS "beta"
key dbload_q; key dbload_q;
@ -406,6 +406,9 @@ main(integer src, integer n, string m, key outs, key ins, key user) {
} else if(mode_name == "DROP") { } else if(mode_name == "DROP") {
mode = 4; mode = 4;
argv = delitem(argv, 0); argv = delitem(argv, 0);
} else if(mode_name == "ALTER") {
mode = 6;
argv = delitem(argv, 0);
} }
string varkey = gets(argv, 0); string varkey = gets(argv, 0);
@ -433,7 +436,9 @@ main(integer src, integer n, string m, key outs, key ins, key user) {
else if(mode == 3) else if(mode == 3)
keyname += [JSON_APPEND]; keyname += [JSON_APPEND];
if(mode == 2 && getjs(section_data, keyname) != JSON_INVALID) { integer invalid = (getjs(section_data, keyname) == JSON_INVALID);
if(mode == 2 && invalid) {
// value already exists; not replacing // value already exists; not replacing
} else { } else {
// perform the update in memory: // perform the update in memory:
@ -444,7 +449,7 @@ main(integer src, integer n, string m, key outs, key ins, key user) {
string k = gets(keys, ki); string k = gets(keys, ki);
section_data = setjs(section_data, keyname + [k], getjs(varvalue, [k])); section_data = setjs(section_data, keyname + [k], getjs(varvalue, [k]));
} }
} else { } else if((mode == 6 && invalid) || mode != 6) {
section_data = setjs(section_data, keyname, varvalue); section_data = setjs(section_data, keyname, varvalue);
} }
// apply the update if successful: // apply the update if successful: