diff main/database/src/converters.cc @ 11474:4fd39d36eff5 octave-forge

Retrieve element information of composite types already at connection time. Exclude negative element numbers (system columns) of composite types corresponding to tables.
author i7tiol
date Fri, 22 Feb 2013 10:16:58 +0000
parents 61ea672a060a
children d14a23884d9c
line wrap: on
line diff
--- a/main/database/src/converters.cc	Fri Feb 22 06:56:15 2013 +0000
+++ b/main/database/src/converters.cc	Fri Feb 22 10:16:58 2013 +0000
@@ -33,8 +33,14 @@
 // helper function for debugging
 void print_conv (oct_pq_conv_t *c)
 {
-  printf ("oid: %u, aoid: %u, relid: %u, c: %i, e: %i, nc: %i, n: %s, to_s: %i, to_b: %i, fr_s: %i, fr_b: %i\n",
-          c->oid, c->aoid, c->relid, c->is_composite, c->is_enum, c->is_not_constant, c->name.c_str (), c->to_octave_str ? 1 : 0, c->to_octave_bin ? 1 : 0, c->from_octave_str ? 1 : 0, c->from_octave_bin ? 1 : 0);
+  printf ("oid: %u, aoid: %u, c: %i, e: %i, nc: %i, n: %s, to_s: %i, to_b: %i, fr_s: %i, fr_b: %i,",
+          c->oid, c->aoid, c->is_composite, c->is_enum, c->is_not_constant, c->name.c_str (), c->to_octave_str ? 1 : 0, c->to_octave_bin ? 1 : 0, c->from_octave_str ? 1 : 0, c->from_octave_bin ? 1 : 0);
+
+  printf (", el_oids:");
+  for (octave_idx_type i = 0; i < c->el_oids.size (); i++)
+    printf (" %u", c->el_oids[i]);
+
+  printf ("\n");
 }
 
 /* type bool */
@@ -88,7 +94,7 @@
 
 oct_pq_conv_t conv_bool = {0, // 16
                            0, // 1000
-                           0,
+                           oct_pq_el_oids_t (),
                            false,
                            false,
                            false,
@@ -136,7 +142,7 @@
 
 oct_pq_conv_t conv_oid = {0, // 26
                           0,
-                          0,
+                          oct_pq_el_oids_t (),
                           false,
                           false,
                           false,
@@ -206,7 +212,7 @@
 
 oct_pq_conv_t conv_float8 = {0, // 701
                              0, // 1022
-                             0,
+                             oct_pq_el_oids_t (),
                              false,
                              false,
                              false,
@@ -276,7 +282,7 @@
 
 oct_pq_conv_t conv_float4 = {0,
                              0,
-                             0,
+                             oct_pq_el_oids_t (),
                              false,
                              false,
                              false,
@@ -340,7 +346,7 @@
 
 oct_pq_conv_t conv_bytea = {0,
                             0,
-                            0,
+                            oct_pq_el_oids_t (),
                             false,
                             false,
                             false,
@@ -393,7 +399,7 @@
 
 oct_pq_conv_t conv_text = {0,
                            0,
-                           0,
+                           oct_pq_el_oids_t (),
                            false,
                            false,
                            false,
@@ -409,7 +415,7 @@
 
 oct_pq_conv_t conv_varchar = {0,
                               0,
-                              0,
+                              oct_pq_el_oids_t (),
                               false,
                               false,
                               false,
@@ -425,7 +431,7 @@
 
 oct_pq_conv_t conv_bpchar = {0,
                              0,
-                             0,
+                             oct_pq_el_oids_t (),
                              false,
                              false,
                              false,
@@ -487,7 +493,7 @@
 
 oct_pq_conv_t conv_name = {0,
                            0,
-                           0,
+                           oct_pq_el_oids_t (),
                            false,
                            false,
                            false,
@@ -535,7 +541,7 @@
 
 oct_pq_conv_t conv_int2 = {0, // 26
                            0,
-                           0,
+                           oct_pq_el_oids_t (),
                            false,
                            false,
                            false,
@@ -584,7 +590,7 @@
 
 oct_pq_conv_t conv_int4 = {0,
                            0,
-                           0,
+                           oct_pq_el_oids_t (),
                            false,
                            false,
                            false,
@@ -633,7 +639,7 @@
 
 oct_pq_conv_t conv_int8 = {0,
                            0,
-                           0,
+                           oct_pq_el_oids_t (),
                            false,
                            false,
                            false,
@@ -650,7 +656,7 @@
 
 oct_pq_conv_t conv_money = {0,
                             0,
-                            0,
+                            oct_pq_el_oids_t (),
                             false,
                             false,
                             false,