gooderp18绿色标准版
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

80 lignes
4.9KB

  1. /* contrib/btree_gist/btree_gist--1.1--1.2.sql */
  2. -- complain if script is sourced in psql, rather than via ALTER EXTENSION
  3. \echo Use "ALTER EXTENSION btree_gist UPDATE TO '1.2'" to load this file. \quit
  4. -- Update procedure signatures the hard way.
  5. -- We use to_regprocedure() so that query doesn't fail if run against 9.6beta1 definitions,
  6. -- wherein the signatures have been updated already. In that case to_regprocedure() will
  7. -- return NULL and no updates will happen.
  8. DO LANGUAGE plpgsql
  9. $$
  10. DECLARE
  11. my_schema pg_catalog.text := pg_catalog.quote_ident(pg_catalog.current_schema());
  12. old_path pg_catalog.text := pg_catalog.current_setting('search_path');
  13. BEGIN
  14. -- for safety, transiently set search_path to just pg_catalog+pg_temp
  15. PERFORM pg_catalog.set_config('search_path', 'pg_catalog, pg_temp', true);
  16. UPDATE pg_catalog.pg_proc SET
  17. proargtypes = pg_catalog.array_to_string(newtypes::pg_catalog.oid[], ' ')::pg_catalog.oidvector,
  18. pronargs = pg_catalog.array_length(newtypes, 1)
  19. FROM (VALUES
  20. (NULL::pg_catalog.text, NULL::pg_catalog.text[]), -- establish column types
  21. ('gbt_oid_distance(internal,oid,int2,oid)', '{internal,oid,int2,oid,internal}'),
  22. ('gbt_oid_union(bytea,internal)', '{internal,internal}'),
  23. ('gbt_oid_same(internal,internal,internal)', '{SCH.gbtreekey8,SCH.gbtreekey8,internal}'),
  24. ('gbt_int2_distance(internal,int2,int2,oid)', '{internal,int2,int2,oid,internal}'),
  25. ('gbt_int2_union(bytea,internal)', '{internal,internal}'),
  26. ('gbt_int2_same(internal,internal,internal)', '{SCH.gbtreekey4,SCH.gbtreekey4,internal}'),
  27. ('gbt_int4_distance(internal,int4,int2,oid)', '{internal,int4,int2,oid,internal}'),
  28. ('gbt_int4_union(bytea,internal)', '{internal,internal}'),
  29. ('gbt_int4_same(internal,internal,internal)', '{SCH.gbtreekey8,SCH.gbtreekey8,internal}'),
  30. ('gbt_int8_distance(internal,int8,int2,oid)', '{internal,int8,int2,oid,internal}'),
  31. ('gbt_int8_union(bytea,internal)', '{internal,internal}'),
  32. ('gbt_int8_same(internal,internal,internal)', '{SCH.gbtreekey16,SCH.gbtreekey16,internal}'),
  33. ('gbt_float4_distance(internal,float4,int2,oid)', '{internal,float4,int2,oid,internal}'),
  34. ('gbt_float4_union(bytea,internal)', '{internal,internal}'),
  35. ('gbt_float4_same(internal,internal,internal)', '{SCH.gbtreekey8,SCH.gbtreekey8,internal}'),
  36. ('gbt_float8_distance(internal,float8,int2,oid)', '{internal,float8,int2,oid,internal}'),
  37. ('gbt_float8_union(bytea,internal)', '{internal,internal}'),
  38. ('gbt_float8_same(internal,internal,internal)', '{SCH.gbtreekey16,SCH.gbtreekey16,internal}'),
  39. ('gbt_ts_distance(internal,timestamp,int2,oid)', '{internal,timestamp,int2,oid,internal}'),
  40. ('gbt_tstz_distance(internal,timestamptz,int2,oid)', '{internal,timestamptz,int2,oid,internal}'),
  41. ('gbt_ts_union(bytea,internal)', '{internal,internal}'),
  42. ('gbt_ts_same(internal,internal,internal)', '{SCH.gbtreekey16,SCH.gbtreekey16,internal}'),
  43. ('gbt_time_distance(internal,time,int2,oid)', '{internal,time,int2,oid,internal}'),
  44. ('gbt_time_union(bytea,internal)', '{internal,internal}'),
  45. ('gbt_time_same(internal,internal,internal)', '{SCH.gbtreekey16,SCH.gbtreekey16,internal}'),
  46. ('gbt_date_distance(internal,date,int2,oid)', '{internal,date,int2,oid,internal}'),
  47. ('gbt_date_union(bytea,internal)', '{internal,internal}'),
  48. ('gbt_date_same(internal,internal,internal)', '{SCH.gbtreekey8,SCH.gbtreekey8,internal}'),
  49. ('gbt_intv_distance(internal,interval,int2,oid)', '{internal,interval,int2,oid,internal}'),
  50. ('gbt_intv_union(bytea,internal)', '{internal,internal}'),
  51. ('gbt_intv_same(internal,internal,internal)', '{SCH.gbtreekey32,SCH.gbtreekey32,internal}'),
  52. ('gbt_cash_distance(internal,money,int2,oid)', '{internal,money,int2,oid,internal}'),
  53. ('gbt_cash_union(bytea,internal)', '{internal,internal}'),
  54. ('gbt_cash_same(internal,internal,internal)', '{SCH.gbtreekey16,SCH.gbtreekey16,internal}'),
  55. ('gbt_macad_union(bytea,internal)', '{internal,internal}'),
  56. ('gbt_macad_same(internal,internal,internal)', '{SCH.gbtreekey16,SCH.gbtreekey16,internal}'),
  57. ('gbt_text_union(bytea,internal)', '{internal,internal}'),
  58. ('gbt_text_same(internal,internal,internal)', '{SCH.gbtreekey_var,SCH.gbtreekey_var,internal}'),
  59. ('gbt_bytea_union(bytea,internal)', '{internal,internal}'),
  60. ('gbt_bytea_same(internal,internal,internal)', '{SCH.gbtreekey_var,SCH.gbtreekey_var,internal}'),
  61. ('gbt_numeric_union(bytea,internal)', '{internal,internal}'),
  62. ('gbt_numeric_same(internal,internal,internal)', '{SCH.gbtreekey_var,SCH.gbtreekey_var,internal}'),
  63. ('gbt_bit_union(bytea,internal)', '{internal,internal}'),
  64. ('gbt_bit_same(internal,internal,internal)', '{SCH.gbtreekey_var,SCH.gbtreekey_var,internal}'),
  65. ('gbt_inet_union(bytea,internal)', '{internal,internal}'),
  66. ('gbt_inet_same(internal,internal,internal)', '{SCH.gbtreekey16,SCH.gbtreekey16,internal}')
  67. ) AS update_data (oldproc, newtypestext),
  68. LATERAL (
  69. SELECT array_agg(replace(typ, 'SCH', my_schema)::regtype) as newtypes FROM unnest(newtypestext) typ
  70. ) ls
  71. WHERE oid = to_regprocedure(my_schema || '.' || replace(oldproc, 'SCH', my_schema));
  72. PERFORM pg_catalog.set_config('search_path', old_path, true);
  73. END
  74. $$;
上海开阖软件有限公司 沪ICP备12045867号-1