[libgdamm] DataModelIter::get_value_at(): Throw an exception sometimes.



commit 3fa381df4a39f00706ff5dec2e2486596ef759ff
Author: Murray Cumming <murrayc murrayc com>
Date:   Mon Oct 10 22:30:13 2011 +0200

    DataModelIter::get_value_at(): Throw an exception sometimes.
    
    * libgda/src/libgda_methods.defs: Regenerated with h2defs.py.
    * libgda/src/datamodeliter.hg: Use the new
    gda_data_model_iter_get_value_at_e() instead of
    gda_data_model_iter_get_value_at(). Presumably this lets us catch more
    problems.
    * libgda/src/holder.hg:
    * libgda/src/row.hg: Ignore some other new methods, with comments.

 ChangeLog                      |   12 ++
 libgda/src/datamodeliter.hg    |    4 +-
 libgda/src/holder.hg           |    7 ++
 libgda/src/libgda_methods.defs |  224 ++++++++++++++++++++++++++++++++++++++++
 libgda/src/row.hg              |    2 +-
 5 files changed, 247 insertions(+), 2 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 9f040cb..5079518 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2011-10-10  Murray Cumming  <murrayc murrayc com>
+
+	DataModelIter::get_value_at(): Throw an exception sometimes.
+
+	* libgda/src/libgda_methods.defs: Regenerated with h2defs.py.
+	* libgda/src/datamodeliter.hg: Use the new 
+	gda_data_model_iter_get_value_at_e() instead of 
+	gda_data_model_iter_get_value_at(). Presumably this lets us catch more 
+	problems.
+	* libgda/src/holder.hg:
+	* libgda/src/row.hg: Ignore some other new methods, with comments.
+
 4.99.4.1:
 
 2011-09-21  Murray Cumming  <murrayc murrayc com>
diff --git a/libgda/src/datamodeliter.hg b/libgda/src/datamodeliter.hg
index e1ba3c6..035d233 100644
--- a/libgda/src/datamodeliter.hg
+++ b/libgda/src/datamodeliter.hg
@@ -83,7 +83,9 @@ public:
   _WRAP_METHOD(Glib::RefPtr<Holder> get_holder_for_field(int col), gda_data_model_iter_get_holder_for_field, refreturn)
   _WRAP_METHOD(Glib::RefPtr<const Holder> get_holder_for_field(int col) const, gda_data_model_iter_get_holder_for_field, refreturn)
 
-  _WRAP_METHOD(Value get_value_at(int col) const, gda_data_model_iter_get_value_at)
+  _WRAP_METHOD(Value get_value_at(int col) const, gda_data_model_iter_get_value_at_e, errthrow)
+  _IGNORE(gda_data_model_iter_get_value_at)
+
   _WRAP_METHOD(Value get_value_for_field(const Glib::ustring& field_name) const, gda_data_model_iter_get_value_for_field)
   _WRAP_METHOD(bool set_value_at(int col, const Value& value), gda_data_model_iter_set_value_at, errthrow)
     
diff --git a/libgda/src/holder.hg b/libgda/src/holder.hg
index f399456..fe4ac04 100644
--- a/libgda/src/holder.hg
+++ b/libgda/src/holder.hg
@@ -81,7 +81,14 @@ public:
   _WRAP_METHOD(bool value_is_default() const, gda_holder_value_is_default)
 
   _WRAP_METHOD(void force_invalid(), gda_holder_force_invalid)
+  _IGNORE(gda_holder_force_invalid_e)
+  //TODO: gda_holder_force_invalid_e() is a way to _set_ an error, not throw an error.
+  //The error is later returned by gda_holder_is_valid_e(). We can probably ignore it.
+
   _WRAP_METHOD(bool is_valid() const, gda_holder_is_valid)
+  _IGNORE(gda_holder_is_valid_e)
+  //Ignore gda_holder_is_valid_e() because throwing an exception would be odd for an is_*() method.
+
   _WRAP_METHOD(void set_not_null(bool not_null = true), gda_holder_set_not_null)
   _WRAP_METHOD(bool get_not_null() const, gda_holder_get_not_null)
 
diff --git a/libgda/src/libgda_methods.defs b/libgda/src/libgda_methods.defs
index ac66dad..5d47bc4 100644
--- a/libgda/src/libgda_methods.defs
+++ b/libgda/src/libgda_methods.defs
@@ -103,6 +103,13 @@
   (gtype-id "GDA_TYPE_DATA_MODEL_LDAP")
 )
 
+(define-object DataPivot
+  (in-module "Gda")
+  (parent "GObject")
+  (c-name "GdaDataPivot")
+  (gtype-id "GDA_TYPE_DATA_PIVOT")
+)
+
 (define-object DataProxy
   (in-module "Gda")
   (parent "GObject")
@@ -406,6 +413,7 @@
     '("task-not-found-error" "GDA_CONNECTION_TASK_NOT_FOUND_ERROR")
     '("unsupported-threads-error" "GDA_CONNECTION_UNSUPPORTED_THREADS_ERROR")
     '("closed-error" "GDA_CONNECTION_CLOSED_ERROR")
+    '("meta-data-context-error" "GDA_CONNECTION_META_DATA_CONTEXT_ERROR")
   )
 )
 
@@ -562,6 +570,42 @@
   )
 )
 
+(define-enum DataPivotError
+  (in-module "Gda")
+  (c-name "GdaDataPivotError")
+  (gtype-id "GDA_TYPE_DATA_PIVOT_ERROR")
+  (values
+    '("internal-error" "GDA_DATA_PIVOT_INTERNAL_ERROR")
+    '("source-model-error" "GDA_DATA_PIVOT_SOURCE_MODEL_ERROR")
+    '("field-format-error" "GDA_DATA_PIVOT_FIELD_FORMAT_ERROR")
+    '("usage-error" "GDA_DATA_PIVOT_USAGE_ERROR")
+    '("overflow-error" "GDA_DATA_PIVOT_OVERFLOW_ERROR")
+  )
+)
+
+(define-enum DataPivotAggregate
+  (in-module "Gda")
+  (c-name "GdaDataPivotAggregate")
+  (gtype-id "GDA_TYPE_DATA_PIVOT_AGGREGATE")
+  (values
+    '("avg" "GDA_DATA_PIVOT_AVG")
+    '("count" "GDA_DATA_PIVOT_COUNT")
+    '("max" "GDA_DATA_PIVOT_MAX")
+    '("min" "GDA_DATA_PIVOT_MIN")
+    '("sum" "GDA_DATA_PIVOT_SUM")
+  )
+)
+
+(define-enum DataPivotFieldType
+  (in-module "Gda")
+  (c-name "GdaDataPivotFieldType")
+  (gtype-id "GDA_TYPE_DATA_PIVOT_FIELD_TYPE")
+  (values
+    '("row" "GDA_DATA_PIVOT_FIELD_ROW")
+    '("column" "GDA_DATA_PIVOT_FIELD_COLUMN")
+  )
+)
+
 (define-enum DataProxyError
   (in-module "Gda")
   (c-name "GdaDataProxyError")
@@ -589,6 +633,16 @@
   )
 )
 
+(define-enum DataSelectConditionType
+  (in-module "Gda")
+  (c-name "GdaDataSelectConditionType")
+  (gtype-id "GDA_TYPE_DATA_SELECT_CONDITION_TYPE")
+  (values
+    '("pk" "GDA_DATA_SELECT_COND_PK")
+    '("all-columns" "GDA_DATA_SELECT_COND_ALL_COLUMNS")
+  )
+)
+
 (define-enum TransactionIsolation
   (in-module "Gda")
   (c-name "GdaTransactionIsolation")
@@ -681,6 +735,7 @@
     '("unknown-object-error" "GDA_META_STRUCT_UNKNOWN_OBJECT_ERROR")
     '("duplicate-object-error" "GDA_META_STRUCT_DUPLICATE_OBJECT_ERROR")
     '("incoherence-error" "GDA_META_STRUCT_INCOHERENCE_ERROR")
+    '("xml-error" "GDA_META_STRUCT_XML_ERROR")
   )
 )
 
@@ -773,6 +828,7 @@
   (values
     '("object-name-error" "GDA_SERVER_OPERATION_OBJECT_NAME_ERROR")
     '("incorrect-value-error" "GDA_SERVER_OPERATION_INCORRECT_VALUE_ERROR")
+    '("xml-error" "GDA_SERVER_OPERATION_XML_ERROR")
   )
 )
 
@@ -834,6 +890,8 @@
     '("server-version-error" "GDA_SERVER_PROVIDER_SERVER_VERSION_ERROR")
     '("data-error" "GDA_SERVER_PROVIDER_DATA_ERROR")
     '("default-value-handling-error" "GDA_SERVER_PROVIDER_DEFAULT_VALUE_HANDLING_ERROR")
+    '("misuse-error" "GDA_SERVER_PROVIDER_MISUSE_ERROR")
+    '("file-not-found-error" "GDA_SERVER_PROVIDER_FILE_NOT_FOUND_ERROR")
   )
 )
 
@@ -846,6 +904,7 @@
     '("holder-not-found-error" "GDA_SET_HOLDER_NOT_FOUND_ERROR")
     '("invalid-error" "GDA_SET_INVALID_ERROR")
     '("read-only-error" "GDA_SET_READ_ONLY_ERROR")
+    '("implementation-error" "GDA_SET_IMPLEMENTATION_ERROR")
   )
 )
 
@@ -1109,6 +1168,7 @@
     '("bitand" "GDA_SQL_OPERATOR_TYPE_BITAND")
     '("bitor" "GDA_SQL_OPERATOR_TYPE_BITOR")
     '("bitnot" "GDA_SQL_OPERATOR_TYPE_BITNOT")
+    '("ilike" "GDA_SQL_OPERATOR_TYPE_ILIKE")
   )
 )
 
@@ -3089,6 +3149,16 @@
   )
 )
 
+(define-method get_value_at_e
+  (of-object "GdaDataModelIter")
+  (c-name "gda_data_model_iter_get_value_at_e")
+  (return-type "const-GValue*")
+  (parameters
+    '("gint" "col")
+    '("GError**" "error")
+  )
+)
+
 (define-method get_value_for_field
   (of-object "GdaDataModelIter")
   (c-name "gda_data_model_iter_get_value_for_field")
@@ -3204,6 +3274,57 @@
 
 
 
+;; From gda-data-pivot.h
+
+(define-function gda_data_pivot_get_type
+  (c-name "gda_data_pivot_get_type")
+  (return-type "GType")
+)
+
+(define-function gda_data_pivot_new
+  (c-name "gda_data_pivot_new")
+  (is-constructor-of "GdaDataPivot")
+  (return-type "GdaDataModel*")
+  (parameters
+    '("GdaDataModel*" "model")
+  )
+)
+
+(define-method add_field
+  (of-object "GdaDataPivot")
+  (c-name "gda_data_pivot_add_field")
+  (return-type "gboolean")
+  (parameters
+    '("GdaDataPivotFieldType" "field_type")
+    '("const-gchar*" "field")
+    '("const-gchar*" "alias")
+    '("GError**" "error")
+  )
+)
+
+(define-method add_data
+  (of-object "GdaDataPivot")
+  (c-name "gda_data_pivot_add_data")
+  (return-type "gboolean")
+  (parameters
+    '("GdaDataPivotAggregate" "aggregate_type")
+    '("const-gchar*" "field")
+    '("const-gchar*" "alias")
+    '("GError**" "error")
+  )
+)
+
+(define-method populate
+  (of-object "GdaDataPivot")
+  (c-name "gda_data_pivot_populate")
+  (return-type "gboolean")
+  (parameters
+    '("GError**" "error")
+  )
+)
+
+
+
 ;; From gda-data-proxy.h
 
 (define-function gda_data_proxy_get_type
@@ -3518,6 +3639,16 @@
   )
 )
 
+(define-method compute_modification_statements_ext
+  (of-object "GdaDataSelect")
+  (c-name "gda_data_select_compute_modification_statements_ext")
+  (return-type "gboolean")
+  (parameters
+    '("GdaDataSelectConditionType" "cond_type")
+    '("GError**" "error")
+  )
+)
+
 (define-method compute_columns_attributes
   (of-object "GdaDataSelect")
   (c-name "gda_data_select_compute_columns_attributes")
@@ -3648,6 +3779,11 @@
   (return-type "GType")
 )
 
+(define-function gda_data_select_condition_type_get_type
+  (c-name "gda_data_select_condition_type_get_type")
+  (return-type "GType")
+)
+
 (define-function gda_transaction_isolation_get_type
   (c-name "gda_transaction_isolation_get_type")
   (return-type "GType")
@@ -3793,6 +3929,21 @@
   (return-type "GType")
 )
 
+(define-function gda_data_pivot_error_get_type
+  (c-name "gda_data_pivot_error_get_type")
+  (return-type "GType")
+)
+
+(define-function gda_data_pivot_aggregate_get_type
+  (c-name "gda_data_pivot_aggregate_get_type")
+  (return-type "GType")
+)
+
+(define-function gda_data_pivot_field_type_get_type
+  (c-name "gda_data_pivot_field_type_get_type")
+  (return-type "GType")
+)
+
 
 
 ;; From gda-holder.h
@@ -3929,12 +4080,30 @@
   (return-type "none")
 )
 
+(define-method force_invalid_e
+  (of-object "GdaHolder")
+  (c-name "gda_holder_force_invalid_e")
+  (return-type "none")
+  (parameters
+    '("GError*" "error")
+  )
+)
+
 (define-method is_valid
   (of-object "GdaHolder")
   (c-name "gda_holder_is_valid")
   (return-type "gboolean")
 )
 
+(define-method is_valid_e
+  (of-object "GdaHolder")
+  (c-name "gda_holder_is_valid_e")
+  (return-type "gboolean")
+  (parameters
+    '("GError**" "error")
+  )
+)
+
 (define-method set_not_null
   (of-object "GdaHolder")
   (c-name "gda_holder_set_not_null")
@@ -4677,6 +4846,16 @@
   )
 )
 
+(define-method invalidate_value_e
+  (of-object "GdaRow")
+  (c-name "gda_row_invalidate_value_e")
+  (return-type "none")
+  (parameters
+    '("GValue*" "value")
+    '("GError*" "error")
+  )
+)
+
 (define-method value_is_valid
   (of-object "GdaRow")
   (c-name "gda_row_value_is_valid")
@@ -4686,6 +4865,16 @@
   )
 )
 
+(define-method value_is_valid_e
+  (of-object "GdaRow")
+  (c-name "gda_row_value_is_valid_e")
+  (return-type "gboolean")
+  (parameters
+    '("GValue*" "value")
+    '("GError**" "error")
+  )
+)
+
 
 
 ;; From gda-server-operation.h
@@ -6569,6 +6758,28 @@
   )
 )
 
+(define-function gda_rewrite_sql_statement_for_null_parameters
+  (c-name "gda_rewrite_sql_statement_for_null_parameters")
+  (return-type "GdaSqlStatement*")
+  (parameters
+    '("GdaSqlStatement*" "sqlst")
+    '("GdaSet*" "params")
+    '("gboolean*" "out_modified")
+    '("GError**" "error")
+  )
+)
+
+(define-function gda_rewrite_statement_for_null_parameters
+  (c-name "gda_rewrite_statement_for_null_parameters")
+  (return-type "gboolean")
+  (parameters
+    '("GdaStatement*" "stmt")
+    '("GdaSet*" "params")
+    '("GdaStatement**" "out_stmt")
+    '("GError**" "error")
+  )
+)
+
 (define-function gda_rfc1738_encode
   (c-name "gda_rfc1738_encode")
   (return-type "gchar*")
@@ -6653,6 +6864,14 @@
   (return-type "GValue*")
 )
 
+(define-function gda_value_new_default
+  (c-name "gda_value_new_default")
+  (return-type "GValue*")
+  (parameters
+    '("const-gchar*" "default_val")
+  )
+)
+
 (define-function gda_value_new_binary
   (c-name "gda_value_new_binary")
   (return-type "GValue*")
@@ -6999,6 +7218,11 @@
   (return-type "GType")
 )
 
+(define-function gda_default_get_type
+  (c-name "gda_default_get_type")
+  (return-type "GType")
+)
+
 (define-function gda_numeric_get_type
   (c-name "gda_numeric_get_type")
   (return-type "GType")
diff --git a/libgda/src/row.hg b/libgda/src/row.hg
index e84bfad..b38048d 100644
--- a/libgda/src/row.hg
+++ b/libgda/src/row.hg
@@ -52,7 +52,7 @@ protected:
 
 public:
   // Docs say this is mainly for providers
-  _IGNORE(gda_row_invalidate_value, gda_row_value_is_valid)
+  _IGNORE(gda_row_invalidate_value, gda_row_invalidate_value_e, gda_row_value_is_valid)
   
   _WRAP_CREATE(int count)
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]