Re: textpos() function
От | Tom Lane |
---|---|
Тема | Re: textpos() function |
Дата | |
Msg-id | 16715.957932746@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | textpos() function (Hitesh Patel <hitesh@presys.com>) |
Список | pgsql-general |
Hitesh Patel <hitesh@presys.com> writes: > I just upgraded to postgresql 7.0 and was restoring my data when I > noticed I had a function defined that used the builtin textpos() > function. This function was available in 6.5.3 but seems to have > dissapeared in 7.0.. Is there any way to restore this function or has > it been renamed to something else (i found strpos() but i'm not sure if > that does exactly the same thing). Looks like it's called position() now --- that function has the same OID (849) as 6.5's textpos(), and even more damningly points to a C function that's still called textpos(): regression=# select oid,* from pg_proc where oid=849; oid | proname | proowner | prolang | proisinh | proistrusted | proiscachable | pronargs | proretset | prorettype | proargtypes | probyte_pct | properbyte_cpu | propercall_cpu | prooutin_ratio | prosrc | probin -----+----------+----------+---------+----------+--------------+---------------+ ----------+-----------+------------+-------------+-------------+---------------- +----------------+----------------+---------+-------- 849 | position | 256 | 11 | f | t | t | 2 | f | 23 | 25 25 | 100 | 0 | 1 | 0 | textpos | - (1 row) We've made a number of changes in 7.0 to bring function and type names into alignment with the SQL92 standard. The incompatibilities I knew about were in date/time types and functions, but I guess this is another one ... If you really don't want to update your app's code just yet, you can install a pg_proc entry that defines textpos() with a CREATE FUNCTION command. But the long-term answer is to fix your code to conform with the standard. regards, tom lane
В списке pgsql-general по дате отправления: