Tue Jun 27 21:47:18 PDT 2006
- Previous message: [Slony1-commit] By cbbrowne: startslons.sgml - change reference to FAQ to not use xref
- Next message: [Slony1-commit] By cbbrowne: Slony-I state test scripts...
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Log Message:
-----------
Modified Files:
--------------
slony1-engine/src/backend:
slony1_funcs.c (r1.45 -> r1.46)
slony1-engine/src/slon:
dbutils.c (r1.21 -> r1.22)
slony1-engine/src/slonik:
dbutil.c (r1.11 -> r1.12)
slony1-engine/tests/test1:
generate_dml.sh (r1.5 -> r1.6)
-------------- next part --------------
Index: dbutils.c
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/src/slon/dbutils.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -Lsrc/slon/dbutils.c -Lsrc/slon/dbutils.c -u -w -r1.21 -r1.22
--- src/slon/dbutils.c
+++ src/slon/dbutils.c
@@ -55,6 +55,8 @@
{
PGconn *dbconn;
SlonConn *conn;
+ PGresult *res;
+ SlonDString query;
/*
* Create the native database connection
@@ -81,13 +83,12 @@
PQfinish(dbconn);
return NULL;
}
+
+ dstring_init(&query);
+
if (sql_on_connection != NULL)
{
- PGresult *res;
- SlonDString query;
-
- dstring_init(&query);
slon_mkquery(&query, "%s", sql_on_connection);
res = PQexec(dbconn, dstring_data(&query));
if (!((PQresultStatus(res) == PGRES_TUPLES_OK) ||
@@ -100,6 +101,15 @@
PQclear(res);
}
+ /* set the datestyle to ISO */
+ slon_mkquery(&query, "set datestyle to 'ISO'");
+ res = PQexec(dbconn, dstring_data(&query));
+ if (!(PQresultStatus(res) == PGRES_COMMAND_OK))
+ {
+ slon_log(SLON_ERROR, "Unable to set the datestyle to ISO\n");
+ }
+ PQclear(res);
+
/*
* Embed it into a SlonConn structure used to exchange it with the
* scheduler. On return this new connection object is locked.
Index: dbutil.c
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/src/slonik/dbutil.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -Lsrc/slonik/dbutil.c -Lsrc/slonik/dbutil.c -u -w -r1.11 -r1.12
--- src/slonik/dbutil.c
+++ src/slonik/dbutil.c
@@ -111,6 +111,7 @@
db_connect(SlonikStmt * stmt, SlonikAdmInfo * adminfo)
{
PGconn *dbconn;
+ SlonDString query;
db_notice_stmt = stmt;
@@ -136,7 +137,18 @@
#else
PQsetNoticeProcessor(dbconn, db_notice_recv, NULL);
#endif /* !HAVE_PQSETNOTICERECEIVER */
+
+ dstring_init(&query);
+ slon_mkquery(&query,"SET datestyle to 'ISO'");
+
adminfo->dbconn = dbconn;
+ if (db_exec_command(stmt, adminfo, &query) < 0)
+ {
+ printf("Unable to set datestyle\n");
+ dstring_free(&query);
+ return -1;
+ }
+ dstring_free(&query);
return 0;
}
Index: slony1_funcs.c
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/src/backend/slony1_funcs.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -Lsrc/backend/slony1_funcs.c -Lsrc/backend/slony1_funcs.c -u -w -r1.45 -r1.46
--- src/backend/slony1_funcs.c
+++ src/backend/slony1_funcs.c
@@ -495,10 +495,12 @@
TupleDesc tupdesc = tg->tg_relation->rd_att;
char *col_ident;
char *col_value;
+
int len_ident;
int len_value;
int i;
int need_comma = false;
+ int OldDateStyle = DateStyle;
char *cp = VARDATA(cs->cmddata_buf);
/*
@@ -567,6 +569,9 @@
*/
if (tupdesc->attrs[i]->attisdropped)
continue;
+
+ DateStyle = USE_ISO_DATES;
+
if ((col_value = SPI_getvalue(new_row, tupdesc, i + 1)) == NULL)
{
col_value = "NULL";
@@ -576,6 +581,8 @@
col_value = slon_quote_literal(col_value);
}
+ DateStyle = OldDateStyle;
+
cmddata_need = (cp - (char *)(cs->cmddata_buf)) + 16 +
(len_value = strlen(col_value));
if (cs->cmddata_size < cmddata_need)
@@ -622,6 +629,8 @@
int i;
int need_comma = false;
int need_and = false;
+ int OldDateStyle = DateStyle;
+
char *cp = VARDATA(cs->cmddata_buf);
/*
@@ -715,8 +724,11 @@
if (new_isnull)
col_value = "NULL";
else
+ {
+ DateStyle=USE_ISO_DATES;
col_value = slon_quote_literal(SPI_getvalue(new_row, tupdesc, i + 1));
-
+ DateStyle=OldDateStyle;
+ }
cmddata_need = (cp - (char *)(cs->cmddata_buf)) + 16 +
(len_ident = strlen(col_ident)) +
(len_value = strlen(col_value));
Index: generate_dml.sh
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/tests/test1/generate_dml.sh,v
retrieving revision 1.5
retrieving revision 1.6
diff -Ltests/test1/generate_dml.sh -Ltests/test1/generate_dml.sh -u -w -r1.5 -r1.6
--- tests/test1/generate_dml.sh
+++ tests/test1/generate_dml.sh
@@ -30,6 +30,7 @@
status "generating ${numrows} tranactions of random data"
percent=`expr $j \* 5`
status "$percent %"
+ GENDATA="$mktmp/generate.data"
while : ; do
txtalen=$(random_number 1 100)
txta=$(random_string ${txtalen})
@@ -37,7 +38,6 @@
txtblen=$(random_number 1 100)
txtb=$(random_string ${txtblen})
txtb=`echo ${txtb} | sed -e "s/\\\\\\\/\\\\\\\\\\\\\\/g" -e "s/'/''/g"`
- GENDATA="$mktmp/generate.data"
echo "INSERT INTO table1(data) VALUES ('${txta}');" >> $GENDATA
echo "INSERT INTO table2(table1_id,data) SELECT id, '${txtb}' FROM table1 WHERE data='${txta}';" >> $GENDATA
echo "INSERT INTO table3(table2_id) SELECT id FROM table2 WHERE data ='${txtb}';" >> $GENDATA
- Previous message: [Slony1-commit] By cbbrowne: startslons.sgml - change reference to FAQ to not use xref
- Next message: [Slony1-commit] By cbbrowne: Slony-I state test scripts...
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-commit mailing list