Re: 7.3 compability, select * from myfunc();
От | Barry Lind |
---|---|
Тема | Re: 7.3 compability, select * from myfunc(); |
Дата | |
Msg-id | 3E3FF1C3.60303@xythos.com обсуждение исходный текст |
Ответ на | 7.3 compability, select * from myfunc(); ("Lars Stenberg" <lars.stenberg@psycat.net>) |
Список | pgsql-jdbc |
Lars, Before I apply this patch, I would like it to include an addition to the test suite that actually tests that the behavior is correct when a function returns a set. thanks, --Barry Lars Stenberg wrote: > Hi! > > The other day when i tried to call a function that returns a set, and i > got some error that bla bla context bla bla error =) > > After i checked the sources i found that the driver is calling "select > myfunc()"(<7.3) instead of "select * from myfunc()"(<=7.3) > > So i wrote myself the following patch, now i wonder why this havent been > done earlier? > > Patch:" > ? pgsql-7.3-jdbc-driver-update.patch > Index: src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java > =================================================================== > RCS file: > /projects/cvsroot/pgsql-server/src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java,v > retrieving revision 1.12.2.2 > diff -c -r1.12.2.2 AbstractJdbc1Statement.java > *** > src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java > 2002/11/20 07:54:27 1.12.2.2 > --- > src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java > 2003/01/29 20:43:50 > *************** > *** 1832,1837 **** > --- 1832,1838 ---- > * {? = call <some_function> (?, [?,..]) } > * into the PostgreSQL format which is > * select <some_function> (?, [?, ...]) as result > + * or select * from <some_function> (?, [?, ...]) as result (7.3) > * > */ > private String modifyJdbcCall(String p_sql) throws SQLException > *************** > *** 1876,1882 **** > // sql we add a dummy parameter in this case > l_sql = (isFunction ? "?" : "") + l_sql.substring (index > + 4); > > ! l_sql = "select " + l_sql + " as " + RESULT_COLUMN + ";"; > return l_sql; > } > > --- 1877,1887 ---- > // sql we add a dummy parameter in this case > l_sql = (isFunction ? "?" : "") + l_sql.substring (index > + 4); > > ! if (connection.haveMinimumServerVersion("7.3")) { > ! l_sql = "select * from " + l_sql + " as " + > RESULT_COLUMN + ";"; > ! } else { > ! l_sql = "select " + l_sql + " as " + > RESULT_COLUMN + ";"; > ! } > return l_sql; > } > " > > Mvh > Lars Stenberg >
В списке pgsql-jdbc по дате отправления: