murphy-db: added column 'introspection' for mql_result_rows.
authorKrisztian Litkey <kli@iki.fi>
Wed, 24 Oct 2012 19:42:50 +0000 (22:42 +0300)
committerKrisztian Litkey <krisztian.litkey@intel.com>
Tue, 30 Oct 2012 09:21:42 +0000 (11:21 +0200)
src/murphy-db/include/murphy-db/mql-result.h
src/murphy-db/mql/linker-script.mql
src/murphy-db/mql/result.c

index e61d43b..62435d4 100644 (file)
@@ -79,6 +79,8 @@ const char      *mql_result_columns_get_name(mql_result_t *, int);
 mqi_data_type_t  mql_result_columns_get_type(mql_result_t *, int);
 int              mql_result_columns_get_length(mql_result_t *, int);
 
+int              mql_result_rows_get_row_column_count(mql_result_t *);
+mqi_data_type_t  mql_result_rows_get_row_column_type(mql_result_t *, int);
 int              mql_result_rows_get_row_count(mql_result_t *);
 const char      *mql_result_rows_get_string(mql_result_t*, int,int, char*,int);
 int32_t          mql_result_rows_get_integer(mql_result_t *, int,int);
index f7a3486..f1a345b 100644 (file)
@@ -21,6 +21,8 @@
         mql_result_list_get_unsigned;
         mql_result_rows_get_floating;
         mql_result_rows_get_integer;
+        mql_result_rows_get_row_column_count;
+        mql_result_rows_get_row_column_type;
         mql_result_rows_get_row_count;
         mql_result_rows_get_string;
         mql_result_rows_get_unsigned;
index 3cb12d3..56e383e 100644 (file)
@@ -490,6 +490,26 @@ mql_result_t *mql_result_rows_create(int                ncol,
     return (mql_result_t *)rslt;
 }
 
+
+int mql_result_rows_get_row_column_count(mql_result_t *r)
+{
+    result_rows_t *rslt = (result_rows_t *)r;
+
+    MDB_CHECKARG(rslt && rslt->type == mql_result_rows, -1);
+
+    return rslt->ncol;
+}
+
+mqi_data_type_t mql_result_rows_get_row_column_type(mql_result_t *r, int colidx)
+{
+    result_rows_t *rslt = (result_rows_t *)r;
+
+    MDB_CHECKARG(rslt && rslt->type == mql_result_rows &&
+                 rslt->ncol > colidx, -1);
+
+    return rslt->cols[colidx].type;
+}
+
 int mql_result_rows_get_row_count(mql_result_t *r)
 {
     result_rows_t *rslt = (result_rows_t *)r;