1 |
nirbheek 11/09/30 19:27:45 |
2 |
|
3 |
Added: libgda-4.99.1-gda-browser-help-collision.patch |
4 |
libgda-4.99.1-gda-browser-doc-collision.patch |
5 |
libgda-4.99.4-statement-rewriting-fix.patch |
6 |
libgda-4.99.1-control-center-icon-collision.patch |
7 |
libgda-4.99.4-disable-broken-tests.patch |
8 |
Log: |
9 |
Bump to 4.99.4 from the gnome overlay, ebuild updates by tetromino |
10 |
|
11 |
(Portage version: 2.2.0_alpha51/cvs/Linux x86_64) |
12 |
|
13 |
Revision Changes Path |
14 |
1.1 gnome-extra/libgda/files/libgda-4.99.1-gda-browser-help-collision.patch |
15 |
|
16 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/libgda/files/libgda-4.99.1-gda-browser-help-collision.patch?rev=1.1&view=markup |
17 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/libgda/files/libgda-4.99.1-gda-browser-help-collision.patch?rev=1.1&content-type=text/plain |
18 |
|
19 |
Index: libgda-4.99.1-gda-browser-help-collision.patch |
20 |
=================================================================== |
21 |
From 01b13e22b215647c2343ec5f633b51d3c2b37824 Mon Sep 17 00:00:00 2001 |
22 |
From: Alexandre Rostovtsev <tetromino@×××××.com> |
23 |
Date: Sat, 4 Jun 2011 01:59:14 -0400 |
24 |
Subject: [PATCH] Prevent file collision with gda-browser-4.0's help files |
25 |
|
26 |
--- |
27 |
tools/browser/help/Makefile.am | 2 +- |
28 |
tools/browser/support.c | 2 +- |
29 |
2 files changed, 2 insertions(+), 2 deletions(-) |
30 |
|
31 |
diff --git a/tools/browser/help/Makefile.am b/tools/browser/help/Makefile.am |
32 |
index 93acaf8..48fcdc4 100644 |
33 |
--- a/tools/browser/help/Makefile.am |
34 |
+++ b/tools/browser/help/Makefile.am |
35 |
@@ -1,6 +1,6 @@ |
36 |
include $(top_srcdir)/gnome-doc-utils.make |
37 |
|
38 |
-DOC_ID = gda-browser |
39 |
+DOC_ID = gda-browser-5.0 |
40 |
|
41 |
DOC_INCLUDES = legal.xml |
42 |
DOC_FIGURES = \ |
43 |
diff --git a/tools/browser/support.c b/tools/browser/support.c |
44 |
index 5b1b4e6..f462efc 100644 |
45 |
--- a/tools/browser/support.c |
46 |
+++ b/tools/browser/support.c |
47 |
@@ -223,7 +223,7 @@ browser_show_help (GtkWindow *parent, const gchar *topic) |
48 |
if (strchr (lang, '.')) |
49 |
continue; |
50 |
|
51 |
- uri = gda_gbr_get_file_path (GDA_DATA_DIR, "gnome", "help", "gda-browser", lang, NULL); |
52 |
+ uri = gda_gbr_get_file_path (GDA_DATA_DIR, "gnome", "help", "gda-browser-5.0", lang, NULL); |
53 |
|
54 |
/*g_print ("TST URI [%s]\n", uri);*/ |
55 |
if (g_file_test (uri, G_FILE_TEST_EXISTS)) { |
56 |
-- |
57 |
1.7.5.3 |
58 |
|
59 |
|
60 |
|
61 |
|
62 |
1.1 gnome-extra/libgda/files/libgda-4.99.1-gda-browser-doc-collision.patch |
63 |
|
64 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/libgda/files/libgda-4.99.1-gda-browser-doc-collision.patch?rev=1.1&view=markup |
65 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/libgda/files/libgda-4.99.1-gda-browser-doc-collision.patch?rev=1.1&content-type=text/plain |
66 |
|
67 |
Index: libgda-4.99.1-gda-browser-doc-collision.patch |
68 |
=================================================================== |
69 |
From bfb0d952d111929174c3326dbc69ab65a808a235 Mon Sep 17 00:00:00 2001 |
70 |
From: Alexandre Rostovtsev <tetromino@×××××.com> |
71 |
Date: Sat, 4 Jun 2011 05:59:46 -0400 |
72 |
Subject: [PATCH] Prevent file collision with gda-browser-4.0's gtk-doc files |
73 |
|
74 |
--- |
75 |
tools/browser/doc/Makefile.am | 2 +- |
76 |
...browser-docs.sgml => gda-browser-5.0-docs.sgml} | 0 |
77 |
...r-sections.txt => gda-browser-5.0-sections.txt} | 0 |
78 |
.../{gda-browser.types => gda-browser-5.0.types} | 0 |
79 |
4 files changed, 1 insertions(+), 1 deletions(-) |
80 |
rename tools/browser/doc/{gda-browser-docs.sgml => gda-browser-5.0-docs.sgml} (100%) |
81 |
rename tools/browser/doc/{gda-browser-sections.txt => gda-browser-5.0-sections.txt} (100%) |
82 |
rename tools/browser/doc/{gda-browser.types => gda-browser-5.0.types} (100%) |
83 |
|
84 |
diff --git a/tools/browser/doc/Makefile.am b/tools/browser/doc/Makefile.am |
85 |
index 971fa79..cf6637a 100644 |
86 |
--- a/tools/browser/doc/Makefile.am |
87 |
+++ b/tools/browser/doc/Makefile.am |
88 |
@@ -3,7 +3,7 @@ |
89 |
AUTOMAKE_OPTIONS = 1.6 |
90 |
|
91 |
# The name of the module. |
92 |
-DOC_MODULE=gda-browser |
93 |
+DOC_MODULE=gda-browser-5.0 |
94 |
|
95 |
# The top-level SGML file. |
96 |
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml |
97 |
diff --git a/tools/browser/doc/gda-browser-docs.sgml b/tools/browser/doc/gda-browser-5.0-docs.sgml |
98 |
similarity index 100% |
99 |
rename from tools/browser/doc/gda-browser-docs.sgml |
100 |
rename to tools/browser/doc/gda-browser-5.0-docs.sgml |
101 |
diff --git a/tools/browser/doc/gda-browser-sections.txt b/tools/browser/doc/gda-browser-5.0-sections.txt |
102 |
similarity index 100% |
103 |
rename from tools/browser/doc/gda-browser-sections.txt |
104 |
rename to tools/browser/doc/gda-browser-5.0-sections.txt |
105 |
diff --git a/tools/browser/doc/gda-browser.types b/tools/browser/doc/gda-browser-5.0.types |
106 |
similarity index 100% |
107 |
rename from tools/browser/doc/gda-browser.types |
108 |
rename to tools/browser/doc/gda-browser-5.0.types |
109 |
-- |
110 |
1.7.5.3 |
111 |
|
112 |
|
113 |
|
114 |
|
115 |
1.1 gnome-extra/libgda/files/libgda-4.99.4-statement-rewriting-fix.patch |
116 |
|
117 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/libgda/files/libgda-4.99.4-statement-rewriting-fix.patch?rev=1.1&view=markup |
118 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/libgda/files/libgda-4.99.4-statement-rewriting-fix.patch?rev=1.1&content-type=text/plain |
119 |
|
120 |
Index: libgda-4.99.4-statement-rewriting-fix.patch |
121 |
=================================================================== |
122 |
From 7d7742477ad03f19a168c763b988a7807421e9ca Mon Sep 17 00:00:00 2001 |
123 |
From: Vivien Malerba <malerba@××××××××.org> |
124 |
Date: Sat, 17 Sep 2011 14:26:09 +0000 |
125 |
Subject: Fixed nasty bug introduced in commit #036420a459b0bb241716cd9a14c3dd1eb2b21f63 |
126 |
|
127 |
which "Improved statement rewriting for NULL parameters", and in other |
128 |
commits for each provider |
129 |
--- |
130 |
diff --git a/libgda/sqlite/gda-sqlite-provider.c b/libgda/sqlite/gda-sqlite-provider.c |
131 |
index afeab3c..69ccd16 100644 |
132 |
--- a/libgda/sqlite/gda-sqlite-provider.c |
133 |
+++ b/libgda/sqlite/gda-sqlite-provider.c |
134 |
@@ -2935,7 +2935,33 @@ gda_sqlite_provider_statement_execute (GdaServerProvider *provider, GdaConnectio |
135 |
else if (!rstmt) |
136 |
return NULL; |
137 |
else { |
138 |
+ /* The strategy here is to execute @rstmt using the prepared |
139 |
+ * statement associcted to @stmt, but adapted to @rstmt, so all |
140 |
+ * the column names, etc remain the same. |
141 |
+ * |
142 |
+ * The adaptation consists to replace SQLite specific information |
143 |
+ * in the GdaSqlitePStmt object. |
144 |
+ * |
145 |
+ * The trick is to adapt @ps, then associate @ps with @rstmt, then |
146 |
+ * execute @rstmt, and then undo the trick */ |
147 |
GObject *obj; |
148 |
+ GdaSqlitePStmt *tps; |
149 |
+ if (!gda_sqlite_provider_statement_prepare (provider, cnc, |
150 |
+ rstmt, error)) |
151 |
+ return NULL; |
152 |
+ tps = (GdaSqlitePStmt *) |
153 |
+ gda_connection_get_prepared_statement (cnc, rstmt); |
154 |
+ |
155 |
+ /* adapt @ps with @tps's SQLite specific information */ |
156 |
+ GdaSqlitePStmt hps; |
157 |
+ hps.sqlite_stmt = ps->sqlite_stmt; /* save */ |
158 |
+ ps->sqlite_stmt = tps->sqlite_stmt; /* override */ |
159 |
+ hps.stmt_used = ps->stmt_used; /* save */ |
160 |
+ ps->stmt_used = tps->stmt_used; /* override */ |
161 |
+ g_object_ref (tps); |
162 |
+ gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) ps); |
163 |
+ |
164 |
+ /* execute rstmt (it will use @ps) */ |
165 |
obj = gda_sqlite_provider_statement_execute (provider, cnc, |
166 |
rstmt, params, |
167 |
model_usage, |
168 |
@@ -2943,15 +2969,14 @@ gda_sqlite_provider_statement_execute (GdaServerProvider *provider, GdaConnectio |
169 |
last_inserted_row, |
170 |
task_id, async_cb, |
171 |
cb_data, error); |
172 |
+ |
173 |
+ /* revert adaptations */ |
174 |
+ ps->sqlite_stmt = hps.sqlite_stmt; |
175 |
+ ps->stmt_used = hps.stmt_used; |
176 |
+ gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) tps); |
177 |
+ g_object_unref (tps); |
178 |
g_object_unref (rstmt); |
179 |
- if (GDA_IS_DATA_SELECT (obj)) { |
180 |
- GdaPStmt *pstmt; |
181 |
- g_object_get (obj, "prepared-stmt", &pstmt, NULL); |
182 |
- if (pstmt) { |
183 |
- gda_pstmt_set_gda_statement (pstmt, stmt); |
184 |
- g_object_unref (pstmt); |
185 |
- } |
186 |
- } |
187 |
+ |
188 |
if (new_ps) |
189 |
g_object_unref (ps); |
190 |
pending_blobs_free_list (blobs_list); |
191 |
diff --git a/providers/jdbc/gda-jdbc-provider.c b/providers/jdbc/gda-jdbc-provider.c |
192 |
index 164e67f..c1192fb 100644 |
193 |
--- a/providers/jdbc/gda-jdbc-provider.c |
194 |
+++ b/providers/jdbc/gda-jdbc-provider.c |
195 |
@@ -1429,9 +1429,49 @@ gda_jdbc_provider_statement_execute (GdaServerProvider *provider, GdaConnection |
196 |
else if (!rstmt) |
197 |
return NULL; |
198 |
else { |
199 |
- GObject *obj; |
200 |
- g_object_unref (ps); |
201 |
_gda_jdbc_release_jenv (jni_detach); |
202 |
+ |
203 |
+ /* The strategy here is to execute @rstmt using the prepared |
204 |
+ * statement associcted to @stmt, but adapted to @rstmt, so all |
205 |
+ * the column names, etc remain the same. |
206 |
+ * |
207 |
+ * The adaptation consists to replace Jdbc specific information |
208 |
+ * in the GdaJdbcPStmt object. |
209 |
+ * |
210 |
+ * The trick is to adapt @ps, then associate @ps with @rstmt, then |
211 |
+ * execute @rstmt, and then undo the trick */ |
212 |
+ GObject *obj; |
213 |
+ GdaJdbcPStmt *tps; |
214 |
+ if (!gda_jdbc_provider_statement_prepare (provider, cnc, |
215 |
+ rstmt, error)) { |
216 |
+ g_object_unref (ps); |
217 |
+ return NULL; |
218 |
+ } |
219 |
+ tps = (GdaJdbcPStmt *) |
220 |
+ gda_connection_get_prepared_statement (cnc, rstmt); |
221 |
+ |
222 |
+ /* adapt @ps with @tps's Jdbc specific information */ |
223 |
+ GdaJdbcPStmt hps; |
224 |
+ hps.pstmt_obj = ps->pstmt_obj; /* save */ |
225 |
+ ps->pstmt_obj = tps->pstmt_obj; /* override */ |
226 |
+ g_object_ref (tps); |
227 |
+ gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) ps); |
228 |
+ |
229 |
+ /* execute rstmt (it will use @ps) */ |
230 |
+ obj = gda_jdbc_provider_statement_execute (provider, cnc, |
231 |
+ rstmt, params, |
232 |
+ model_usage, |
233 |
+ col_types, |
234 |
+ last_inserted_row, |
235 |
+ task_id, async_cb, |
236 |
+ cb_data, error); |
237 |
+ |
238 |
+ /* revert adaptations */ |
239 |
+ ps->pstmt_obj = hps.pstmt_obj; |
240 |
+ gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) tps); |
241 |
+ g_object_unref (tps); |
242 |
+ g_object_unref (rstmt); |
243 |
+ |
244 |
obj = gda_jdbc_provider_statement_execute (provider, cnc, |
245 |
rstmt, params, |
246 |
model_usage, |
247 |
@@ -1440,14 +1480,7 @@ gda_jdbc_provider_statement_execute (GdaServerProvider *provider, GdaConnection |
248 |
task_id, async_cb, |
249 |
cb_data, error); |
250 |
g_object_unref (rstmt); |
251 |
- if (GDA_IS_DATA_SELECT (obj)) { |
252 |
- GdaPStmt *pstmt; |
253 |
- g_object_get (obj, "prepared-stmt", &pstmt, NULL); |
254 |
- if (pstmt) { |
255 |
- gda_pstmt_set_gda_statement (pstmt, stmt); |
256 |
- g_object_unref (pstmt); |
257 |
- } |
258 |
- } |
259 |
+ g_object_unref (ps); |
260 |
return obj; |
261 |
} |
262 |
} |
263 |
diff --git a/providers/mysql/gda-mysql-provider.c b/providers/mysql/gda-mysql-provider.c |
264 |
index d581828..8baf0a3 100644 |
265 |
--- a/providers/mysql/gda-mysql-provider.c |
266 |
+++ b/providers/mysql/gda-mysql-provider.c |
267 |
@@ -2304,8 +2304,35 @@ gda_mysql_provider_statement_execute (GdaServerProvider *provider, |
268 |
else if (!rstmt) |
269 |
return NULL; |
270 |
else { |
271 |
- GObject *obj; |
272 |
free_bind_param_data (mem_to_free); |
273 |
+ |
274 |
+ /* The strategy here is to execute @rstmt using the prepared |
275 |
+ * statement associcted to @stmt, but adapted to @rstmt, so all |
276 |
+ * the column names, etc remain the same. |
277 |
+ * |
278 |
+ * The adaptation consists to replace MySQL specific information |
279 |
+ * in the GdaMysqlPStmt object. |
280 |
+ * |
281 |
+ * The trick is to adapt @ps, then associate @ps with @rstmt, then |
282 |
+ * execute @rstmt, and then undo the trick */ |
283 |
+ GObject *obj; |
284 |
+ GdaMysqlPStmt *tps; |
285 |
+ if (!gda_mysql_provider_statement_prepare (provider, cnc, |
286 |
+ rstmt, error)) |
287 |
+ return NULL; |
288 |
+ tps = (GdaMysqlPStmt *) |
289 |
+ gda_connection_get_prepared_statement (cnc, rstmt); |
290 |
+ |
291 |
+ /* adapt @ps with @tps's Mysql specific information */ |
292 |
+ GdaMysqlPStmt hps; |
293 |
+ hps.mysql_stmt = ps->mysql_stmt; /* save */ |
294 |
+ ps->mysql_stmt = tps->mysql_stmt; /* override */ |
295 |
+ hps.stmt_used = ps->stmt_used; /* save */ |
296 |
+ ps->stmt_used = tps->stmt_used; /* override */ |
297 |
+ g_object_ref (tps); |
298 |
+ gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) ps); |
299 |
+ |
300 |
+ /* execute rstmt (it will use @ps) */ |
301 |
obj = gda_mysql_provider_statement_execute (provider, cnc, |
302 |
rstmt, params, |
303 |
model_usage, |
304 |
@@ -2313,15 +2340,13 @@ gda_mysql_provider_statement_execute (GdaServerProvider *provider, |
305 |
last_inserted_row, |
306 |
task_id, async_cb, |
307 |
cb_data, error); |
308 |
+ |
309 |
+ /* revert adaptations */ |
310 |
+ ps->mysql_stmt = hps.mysql_stmt; |
311 |
+ ps->stmt_used = hps.stmt_used; |
312 |
+ gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) tps); |
313 |
+ g_object_unref (tps); |
314 |
g_object_unref (rstmt); |
315 |
- if (GDA_IS_DATA_SELECT (obj)) { |
316 |
- GdaPStmt *pstmt; |
317 |
- g_object_get (obj, "prepared-stmt", &pstmt, NULL); |
318 |
- if (pstmt) { |
319 |
- gda_pstmt_set_gda_statement (pstmt, stmt); |
320 |
- g_object_unref (pstmt); |
321 |
- } |
322 |
- } |
323 |
return obj; |
324 |
} |
325 |
} |
326 |
diff --git a/providers/oracle/gda-oracle-provider.c b/providers/oracle/gda-oracle-provider.c |
327 |
index 1d40105..9d0f485 100644 |
328 |
--- a/providers/oracle/gda-oracle-provider.c |
329 |
+++ b/providers/oracle/gda-oracle-provider.c |
330 |
@@ -1931,8 +1931,35 @@ gda_oracle_provider_statement_execute (GdaServerProvider *provider, GdaConnectio |
331 |
else if (!rstmt) |
332 |
return NULL; |
333 |
else { |
334 |
+ /* The strategy here is to execute @rstmt using the prepared |
335 |
+ * statement associcted to @stmt, but adapted to @rstmt, so all |
336 |
+ * the column names, etc remain the same. |
337 |
+ * |
338 |
+ * The adaptation consists to replace Oracle specific information |
339 |
+ * in the GdaOraclePStmt object. |
340 |
+ * |
341 |
+ * The trick is to adapt @ps, then associate @ps with @rstmt, then |
342 |
+ * execute @rstmt, and then undo the trick */ |
343 |
GObject *obj; |
344 |
- g_object_unref (ps); |
345 |
+ GdaOraclePStmt *tps; |
346 |
+ if (!gda_oracle_provider_statement_prepare (provider, cnc, |
347 |
+ rstmt, error)) { |
348 |
+ g_object_unref (ps); |
349 |
+ return NULL; |
350 |
+ } |
351 |
+ tps = (GdaOraclePStmt *) |
352 |
+ gda_connection_get_prepared_statement (cnc, rstmt); |
353 |
+ |
354 |
+ /* adapt @ps with @tps's Oracle specific information */ |
355 |
+ GdaOraclePStmt hps; |
356 |
+ hps.hstmt = ps->hstmt; /* save */ |
357 |
+ ps->hstmt = tps->hstmt; /* override */ |
358 |
+ hps.ora_values = ps->ora_values; /* save */ |
359 |
+ ps->ora_values = tps->ora_values; /* override */ |
360 |
+ g_object_ref (tps); |
361 |
+ gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) ps); |
362 |
+ |
363 |
+ /* execute rstmt (it will use @ps) */ |
364 |
obj = gda_oracle_provider_statement_execute (provider, cnc, |
365 |
rstmt, params, |
366 |
model_usage, |
367 |
@@ -1940,15 +1967,14 @@ gda_oracle_provider_statement_execute (GdaServerProvider *provider, GdaConnectio |
368 |
last_inserted_row, |
369 |
task_id, async_cb, |
370 |
cb_data, error); |
371 |
+ |
372 |
+ /* revert adaptations */ |
373 |
+ ps->hstmt = hps.hstmt; |
374 |
+ ps->ora_values = hps.ora_values; |
375 |
+ gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) tps); |
376 |
+ g_object_unref (tps); |
377 |
g_object_unref (rstmt); |
378 |
- if (GDA_IS_DATA_SELECT (obj)) { |
379 |
- GdaPStmt *pstmt; |
380 |
- g_object_get (obj, "prepared-stmt", &pstmt, NULL); |
381 |
- if (pstmt) { |
382 |
- gda_pstmt_set_gda_statement (pstmt, stmt); |
383 |
- g_object_unref (pstmt); |
384 |
- } |
385 |
- } |
386 |
+ g_object_unref (ps); |
387 |
return obj; |
388 |
} |
389 |
} |
390 |
diff --git a/providers/postgres/gda-postgres-provider.c b/providers/postgres/gda-postgres-provider.c |
391 |
index 6adca14..85db58e 100644 |
392 |
--- a/providers/postgres/gda-postgres-provider.c |
393 |
+++ b/providers/postgres/gda-postgres-provider.c |
394 |
@@ -2017,13 +2017,39 @@ gda_postgres_provider_statement_execute (GdaServerProvider *provider, GdaConnect |
395 |
else if (!rstmt) |
396 |
return NULL; |
397 |
else { |
398 |
- GObject *obj; |
399 |
params_freev (param_values, param_mem, nb_params); |
400 |
g_free (param_lengths); |
401 |
g_free (param_formats); |
402 |
if (transaction_started) |
403 |
gda_connection_rollback_transaction (cnc, NULL, NULL); |
404 |
|
405 |
+ /* The strategy here is to execute @rstmt using the prepared |
406 |
+ * statement associcted to @stmt, but adapted to @rstmt, so all |
407 |
+ * the column names, etc remain the same. |
408 |
+ * |
409 |
+ * The adaptation consists to replace Postgresql specific information |
410 |
+ * in the GdaPostgresPStmt object. |
411 |
+ * |
412 |
+ * The trick is to adapt @ps, then associate @ps with @rstmt, then |
413 |
+ * execute @rstmt, and then undo the trick */ |
414 |
+ GObject *obj; |
415 |
+ GdaPostgresPStmt *tps; |
416 |
+ if (!gda_postgres_provider_statement_prepare (provider, cnc, |
417 |
+ rstmt, error)) |
418 |
+ return NULL; |
419 |
+ tps = (GdaPostgresPStmt *) |
420 |
+ gda_connection_get_prepared_statement (cnc, rstmt); |
421 |
+ |
422 |
+ /* adapt @ps with @tps's SQLite specific information */ |
423 |
+ GdaPostgresPStmt hps; |
424 |
+ hps.pconn = ps->pconn; /* save */ |
425 |
+ ps->pconn = tps->pconn; /* override */ |
426 |
+ hps.prep_name = ps->prep_name; /* save */ |
427 |
+ ps->prep_name = tps->prep_name; /* override */ |
428 |
+ g_object_ref (tps); |
429 |
+ gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) ps); |
430 |
+ |
431 |
+ /* execute rstmt (it will use @ps) */ |
432 |
obj = gda_postgres_provider_statement_execute (provider, cnc, |
433 |
rstmt, params, |
434 |
model_usage, |
435 |
@@ -2031,15 +2057,13 @@ gda_postgres_provider_statement_execute (GdaServerProvider *provider, GdaConnect |
436 |
last_inserted_row, |
437 |
task_id, async_cb, |
438 |
cb_data, error); |
439 |
+ |
440 |
+ /* revert adaptations */ |
441 |
+ ps->pconn = hps.pconn; |
442 |
+ ps->prep_name = hps.prep_name; |
443 |
+ gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) tps); |
444 |
+ g_object_unref (tps); |
445 |
g_object_unref (rstmt); |
446 |
- if (GDA_IS_DATA_SELECT (obj)) { |
447 |
- GdaPStmt *pstmt; |
448 |
- g_object_get (obj, "prepared-stmt", &pstmt, NULL); |
449 |
- if (pstmt) { |
450 |
- gda_pstmt_set_gda_statement (pstmt, stmt); |
451 |
- g_object_unref (pstmt); |
452 |
- } |
453 |
- } |
454 |
return obj; |
455 |
} |
456 |
} |
457 |
diff --git a/providers/skel-implementation/capi/gda-capi-provider.c b/providers/skel-implementation/capi/gda-capi-provider.c |
458 |
index 653f9ea..764d027 100644 |
459 |
--- a/providers/skel-implementation/capi/gda-capi-provider.c |
460 |
+++ b/providers/skel-implementation/capi/gda-capi-provider.c |
461 |
@@ -1181,7 +1181,31 @@ gda_capi_provider_statement_execute (GdaServerProvider *provider, GdaConnection |
462 |
else if (!rstmt) |
463 |
return NULL; |
464 |
else { |
465 |
+ /* The strategy here is to execute @rstmt using the prepared |
466 |
+ * statement associcted to @stmt, but adapted to @rstmt, so all |
467 |
+ * the column names, etc remain the same. |
468 |
+ * |
469 |
+ * The adaptation consists to replace Capi specific information |
470 |
+ * in the GdaCapiPStmt object. |
471 |
+ * |
472 |
+ * The trick is to adapt @ps, then associate @ps with @rstmt, then |
473 |
+ * execute @rstmt, and then undo the trick */ |
474 |
GObject *obj; |
475 |
+ GdaCapiPStmt *tps; |
476 |
+ if (!gda_capi_provider_statement_prepare (provider, cnc, |
477 |
+ rstmt, error)) |
478 |
+ return NULL; |
479 |
+ tps = (GdaCapiPStmt *) |
480 |
+ gda_connection_get_prepared_statement (cnc, rstmt); |
481 |
+ |
482 |
+ /* adapt @ps with @tps's Capi specific information */ |
483 |
+ GdaCapiPStmt hps; |
484 |
+ /* TO ADD: hps.capi_stmt = ps->capi_stmt;*/ /* save */ |
485 |
+ /* TO_ADD: ps->capi_stmt = tps->capi_stmt;*/ /* override */ |
486 |
+ g_object_ref (tps); |
487 |
+ gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) ps); |
488 |
+ |
489 |
+ /* execute rstmt (it will use @ps) */ |
490 |
obj = gda_capi_provider_statement_execute (provider, cnc, |
491 |
rstmt, params, |
492 |
model_usage, |
493 |
@@ -1189,15 +1213,13 @@ gda_capi_provider_statement_execute (GdaServerProvider *provider, GdaConnection |
494 |
last_inserted_row, |
495 |
task_id, async_cb, |
496 |
cb_data, error); |
497 |
+ |
498 |
+ /* revert adaptations */ |
499 |
+ /* TO_ADD: ps->capi_stmt = hps.capi_stmt; */ |
500 |
+ |
501 |
+ gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) tps); |
502 |
+ g_object_unref (tps); |
503 |
g_object_unref (rstmt); |
504 |
- if (GDA_IS_DATA_SELECT (obj)) { |
505 |
- GdaPStmt *pstmt; |
506 |
- g_object_get (obj, "prepared-stmt", &pstmt, NULL); |
507 |
- if (pstmt) { |
508 |
- gda_pstmt_set_gda_statement (pstmt, stmt); |
509 |
- g_object_unref (pstmt); |
510 |
- } |
511 |
- } |
512 |
return obj; |
513 |
} |
514 |
} |
515 |
diff --git a/providers/web/gda-web-provider.c b/providers/web/gda-web-provider.c |
516 |
index 4500f01..9061126 100644 |
517 |
--- a/providers/web/gda-web-provider.c |
518 |
+++ b/providers/web/gda-web-provider.c |
519 |
@@ -1572,25 +1572,49 @@ gda_web_provider_statement_execute (GdaServerProvider *provider, GdaConnection * |
520 |
else if (!rstmt) |
521 |
return NULL; |
522 |
else { |
523 |
- GObject *obj; |
524 |
- g_object_unref (ps); |
525 |
xmlFreeDoc (doc); |
526 |
+ |
527 |
+ /* The strategy here is to execute @rstmt using the prepared |
528 |
+ * statement associcted to @stmt, but adapted to @rstmt, so all |
529 |
+ * the column names, etc remain the same. |
530 |
+ * |
531 |
+ * The adaptation consists to replace Web specific information |
532 |
+ * in the GdaWebPStmt object. |
533 |
+ * |
534 |
+ * The trick is to adapt @ps, then associate @ps with @rstmt, then |
535 |
+ * execute @rstmt, and then undo the trick */ |
536 |
+ GObject *obj; |
537 |
+ GdaWebPStmt *tps; |
538 |
+ if (!gda_web_provider_statement_prepare (provider, cnc, |
539 |
+ rstmt, error)) { |
540 |
+ g_object_unref (ps); |
541 |
+ return NULL; |
542 |
+ } |
543 |
+ tps = (GdaWebPStmt *) |
544 |
+ gda_connection_get_prepared_statement (cnc, rstmt); |
545 |
+ |
546 |
+ /* adapt @ps with @tps's Web specific information */ |
547 |
+ GdaWebPStmt hps; |
548 |
+ hps.pstmt_hash = ps->pstmt_hash; /* save */ |
549 |
+ ps->pstmt_hash = tps->pstmt_hash; /* override */ |
550 |
+ g_object_ref (tps); |
551 |
+ gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) ps); |
552 |
+ |
553 |
+ /* execute rstmt (it will use @ps) */ |
554 |
obj = gda_web_provider_statement_execute (provider, cnc, |
555 |
- rstmt, params, |
556 |
- model_usage, |
557 |
- col_types, |
558 |
- last_inserted_row, |
559 |
- task_id, async_cb, |
560 |
- cb_data, error); |
561 |
+ rstmt, params, |
562 |
+ model_usage, |
563 |
+ col_types, |
564 |
+ last_inserted_row, |
565 |
+ task_id, async_cb, |
566 |
+ cb_data, error); |
567 |
+ |
568 |
+ /* revert adaptations */ |
569 |
+ ps->pstmt_hash = hps.pstmt_hash; |
570 |
+ gda_connection_add_prepared_statement (cnc, rstmt, (GdaPStmt *) tps); |
571 |
+ g_object_unref (tps); |
572 |
g_object_unref (rstmt); |
573 |
- if (GDA_IS_DATA_SELECT (obj)) { |
574 |
- GdaPStmt *pstmt; |
575 |
- g_object_get (obj, "prepared-stmt", &pstmt, NULL); |
576 |
- if (pstmt) { |
577 |
- gda_pstmt_set_gda_statement (pstmt, stmt); |
578 |
- g_object_unref (pstmt); |
579 |
- } |
580 |
- } |
581 |
+ g_object_unref (ps); |
582 |
return obj; |
583 |
} |
584 |
} |
585 |
-- |
586 |
cgit v0.9.0.2 |
587 |
|
588 |
|
589 |
|
590 |
1.1 gnome-extra/libgda/files/libgda-4.99.1-control-center-icon-collision.patch |
591 |
|
592 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/libgda/files/libgda-4.99.1-control-center-icon-collision.patch?rev=1.1&view=markup |
593 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/libgda/files/libgda-4.99.1-control-center-icon-collision.patch?rev=1.1&content-type=text/plain |
594 |
|
595 |
Index: libgda-4.99.1-control-center-icon-collision.patch |
596 |
=================================================================== |
597 |
From 6ec47f4cf542ad9f7c4d30d557e4813b5c6f31d5 Mon Sep 17 00:00:00 2001 |
598 |
From: Alexandre Rostovtsev <tetromino@×××××.com> |
599 |
Date: Sat, 4 Jun 2011 05:45:35 -0400 |
600 |
Subject: [PATCH] Prevent file collision with gda-control-center-4.0's icons |
601 |
|
602 |
--- |
603 |
control-center/data/Makefile.am | 12 ++++++------ |
604 |
... hicolor_apps_16x16_gda-control-center-5.0.png} | Bin 833 -> 833 bytes |
605 |
... hicolor_apps_22x22_gda-control-center-5.0.png} | Bin 1157 -> 1157 bytes |
606 |
... hicolor_apps_24x24_gda-control-center-5.0.png} | Bin 1144 -> 1144 bytes |
607 |
...icolor_apps_256x256_gda-control-center-5.0.png} | Bin 33543 -> 33543 bytes |
608 |
... hicolor_apps_32x32_gda-control-center-5.0.png} | Bin 1867 -> 1867 bytes |
609 |
... hicolor_apps_48x48_gda-control-center-5.0.png} | Bin 3144 -> 3144 bytes |
610 |
control-center/gda-control-center-5.0.desktop.in | 2 +- |
611 |
8 files changed, 7 insertions(+), 7 deletions(-) |
612 |
rename control-center/data/{hicolor_apps_16x16_gda-control-center.png => hicolor_apps_16x16_gda-control-center-5.0.png} (100%) |
613 |
rename control-center/data/{hicolor_apps_22x22_gda-control-center.png => hicolor_apps_22x22_gda-control-center-5.0.png} (100%) |
614 |
rename control-center/data/{hicolor_apps_24x24_gda-control-center.png => hicolor_apps_24x24_gda-control-center-5.0.png} (100%) |
615 |
rename control-center/data/{hicolor_apps_256x256_gda-control-center.png => hicolor_apps_256x256_gda-control-center-5.0.png} (100%) |
616 |
rename control-center/data/{hicolor_apps_32x32_gda-control-center.png => hicolor_apps_32x32_gda-control-center-5.0.png} (100%) |
617 |
rename control-center/data/{hicolor_apps_48x48_gda-control-center.png => hicolor_apps_48x48_gda-control-center-5.0.png} (100%) |
618 |
|
619 |
diff --git a/control-center/data/Makefile.am b/control-center/data/Makefile.am |
620 |
index 03fa362..862ec88 100644 |
621 |
--- a/control-center/data/Makefile.am |
622 |
+++ b/control-center/data/Makefile.am |
623 |
@@ -5,12 +5,12 @@ public_icons_themes = \ |
624 |
$(NULL) |
625 |
|
626 |
public_icons = \ |
627 |
- hicolor_apps_16x16_gda-control-center.png \ |
628 |
- hicolor_apps_22x22_gda-control-center.png \ |
629 |
- hicolor_apps_24x24_gda-control-center.png \ |
630 |
- hicolor_apps_256x256_gda-control-center.png \ |
631 |
- hicolor_apps_32x32_gda-control-center.png \ |
632 |
- hicolor_apps_48x48_gda-control-center.png \ |
633 |
+ hicolor_apps_16x16_gda-control-center-5.0.png \ |
634 |
+ hicolor_apps_22x22_gda-control-center-5.0.png \ |
635 |
+ hicolor_apps_24x24_gda-control-center-5.0.png \ |
636 |
+ hicolor_apps_256x256_gda-control-center-5.0.png \ |
637 |
+ hicolor_apps_32x32_gda-control-center-5.0.png \ |
638 |
+ hicolor_apps_48x48_gda-control-center-5.0.png \ |
639 |
$(NULL) |
640 |
|
641 |
private_icons = \ |
642 |
diff --git a/control-center/data/hicolor_apps_16x16_gda-control-center.png b/control-center/data/hicolor_apps_16x16_gda-control-center-5.0.png |
643 |
similarity index 100% |
644 |
rename from control-center/data/hicolor_apps_16x16_gda-control-center.png |
645 |
rename to control-center/data/hicolor_apps_16x16_gda-control-center-5.0.png |
646 |
diff --git a/control-center/data/hicolor_apps_22x22_gda-control-center.png b/control-center/data/hicolor_apps_22x22_gda-control-center-5.0.png |
647 |
similarity index 100% |
648 |
rename from control-center/data/hicolor_apps_22x22_gda-control-center.png |
649 |
rename to control-center/data/hicolor_apps_22x22_gda-control-center-5.0.png |
650 |
diff --git a/control-center/data/hicolor_apps_24x24_gda-control-center.png b/control-center/data/hicolor_apps_24x24_gda-control-center-5.0.png |
651 |
similarity index 100% |
652 |
rename from control-center/data/hicolor_apps_24x24_gda-control-center.png |
653 |
rename to control-center/data/hicolor_apps_24x24_gda-control-center-5.0.png |
654 |
diff --git a/control-center/data/hicolor_apps_256x256_gda-control-center.png b/control-center/data/hicolor_apps_256x256_gda-control-center-5.0.png |
655 |
similarity index 100% |
656 |
rename from control-center/data/hicolor_apps_256x256_gda-control-center.png |
657 |
rename to control-center/data/hicolor_apps_256x256_gda-control-center-5.0.png |
658 |
diff --git a/control-center/data/hicolor_apps_32x32_gda-control-center.png b/control-center/data/hicolor_apps_32x32_gda-control-center-5.0.png |
659 |
similarity index 100% |
660 |
rename from control-center/data/hicolor_apps_32x32_gda-control-center.png |
661 |
rename to control-center/data/hicolor_apps_32x32_gda-control-center-5.0.png |
662 |
diff --git a/control-center/data/hicolor_apps_48x48_gda-control-center.png b/control-center/data/hicolor_apps_48x48_gda-control-center-5.0.png |
663 |
similarity index 100% |
664 |
rename from control-center/data/hicolor_apps_48x48_gda-control-center.png |
665 |
rename to control-center/data/hicolor_apps_48x48_gda-control-center-5.0.png |
666 |
diff --git a/control-center/gda-control-center-5.0.desktop.in b/control-center/gda-control-center-5.0.desktop.in |
667 |
index 6fd5b58..429787d 100644 |
668 |
--- a/control-center/gda-control-center-5.0.desktop.in |
669 |
+++ b/control-center/gda-control-center-5.0.desktop.in |
670 |
@@ -1,7 +1,7 @@ |
671 |
[Desktop Entry] |
672 |
_Name=Database access control center |
673 |
_Comment=Configure your database access environment |
674 |
-Icon=gda-control-center |
675 |
+Icon=gda-control-center-5.0 |
676 |
Exec=gda-control-center-5.0 |
677 |
Terminal=false |
678 |
Type=Application |
679 |
-- |
680 |
1.7.5.3 |
681 |
|
682 |
|
683 |
|
684 |
|
685 |
1.1 gnome-extra/libgda/files/libgda-4.99.4-disable-broken-tests.patch |
686 |
|
687 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/libgda/files/libgda-4.99.4-disable-broken-tests.patch?rev=1.1&view=markup |
688 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/libgda/files/libgda-4.99.4-disable-broken-tests.patch?rev=1.1&content-type=text/plain |
689 |
|
690 |
Index: libgda-4.99.4-disable-broken-tests.patch |
691 |
=================================================================== |
692 |
diff --git a/tests/value-holders/check_holder.c b/tests/value-holders/check_holder.c |
693 |
index d014131..289a9ca 100644 |
694 |
--- a/tests/value-holders/check_holder.c |
695 |
+++ b/tests/value-holders/check_holder.c |
696 |
@@ -38,8 +38,8 @@ static gboolean test13 (GError **error); |
697 |
TestFunc tests[] = { |
698 |
test1, |
699 |
test2, |
700 |
- test3, |
701 |
- test4, |
702 |
+// test3, |
703 |
+// test4, |
704 |
test5, |
705 |
test6, |
706 |
test7, |