TABLE_SCHEMA = '""" + this.DBNAME + """'
""";
- var jarr = this.fetchAll(this.cnc.execute_select_command(
- query
- ));
- if (jarr.get_length() < 1) {
- return ret;
- }
-
+ var jarr = new Json.Array();
+ try {
+ jarr = this.fetchAll(this.cnc.execute_select_command(
+ query
+ ));
+ if (jarr.get_length() < 1) {
+ return ret;
+ }
+ } catch (GLib.Error e) {
+ return ret;
+ }
var contents = jarr.get_string_element(0);
GLib.debug(contents);
if (contents == null) {
GLib.Regex exp = /FK\(([^\)]+)\)/;
string str = "";
- try {
- GLib.MatchInfo mi;
- if ( exp.match (contents, 0, out mi) ) {
-
- str = mi.fetch(1);
- GLib.debug("match = %s", str);
- }
- } catch (GLib.Error e) {
- return ret;
+
+ GLib.MatchInfo mi;
+ if ( exp.match (contents, 0, out mi) ) {
+
+ str = mi.fetch(1);
+ GLib.debug("match = %s", str);
}
+
var ar = str.split("\n");
for (var i = 0; i < ar.length; i++) {
var kv = ar[i].split("=");
cols.add(qnr.get_column_name(i));
}
//print(Json.stringify(cols, null,4));
- var iter = qnr.create_iter();
+
var res = new Json.Array();
//print("ROWS %d\n", qnr.get_n_rows());
//print("GOT ROW");
//print("COLS %d\n", cols.size);
if (cols.size == 1) {
- var str = qnr.get_value_at(0,r).get_string();
+
//print("GOT %s\n",str);
- res.add_string_element(qnr.get_value_at(0,r).get_string());
+ try {
+ res.add_string_element(qnr.get_value_at(0,r).get_string());
+ } catch (GLib.Error e) {
+ res.add_string_element("");
+ }
continue;
}
for (var i = 0; i < cols.size; i++) {
var n = cols.get(i);
- var val = qnr.get_value_at(i,r);
- var type = val.type().name();
- //print("%s\n",type);
- switch(type) {
- case "GdaBinary":
- case "GdaBlob":
- add.set_string_member(n, "?? big string ??");
- break;
+ try {
+ var val = qnr.get_value_at(i,r);
+ var type = val.type().name();
+ //print("%s\n",type);
+ switch(type) {
+ case "GdaBinary":
+ case "GdaBlob":
+ add.set_string_member(n, "?? big string ??");
+ break;
- case "GdaNull":
- add.set_null_member(n);
- break;
+ case "GdaNull":
+ add.set_null_member(n);
+ break;
- default:
- add.set_string_member(n, val.get_string());
- break;
+ default:
+ add.set_string_member(n, val.get_string());
+ break;
+ }
+ } catch (GLib.Error e ) {
+ add.set_string_member(n, "");
}
}