gooderp18绿色标准版
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.1KB

  1. /* contrib/tablefunc/tablefunc--1.0.sql */
  2. -- complain if script is sourced in psql, rather than via CREATE EXTENSION
  3. \echo Use "CREATE EXTENSION tablefunc" to load this file. \quit
  4. CREATE FUNCTION normal_rand(int4, float8, float8)
  5. RETURNS setof float8
  6. AS 'MODULE_PATHNAME','normal_rand'
  7. LANGUAGE C VOLATILE STRICT;
  8. -- the generic crosstab function:
  9. CREATE FUNCTION crosstab(text)
  10. RETURNS setof record
  11. AS 'MODULE_PATHNAME','crosstab'
  12. LANGUAGE C STABLE STRICT;
  13. -- examples of building custom type-specific crosstab functions:
  14. CREATE TYPE tablefunc_crosstab_2 AS
  15. (
  16. row_name TEXT,
  17. category_1 TEXT,
  18. category_2 TEXT
  19. );
  20. CREATE TYPE tablefunc_crosstab_3 AS
  21. (
  22. row_name TEXT,
  23. category_1 TEXT,
  24. category_2 TEXT,
  25. category_3 TEXT
  26. );
  27. CREATE TYPE tablefunc_crosstab_4 AS
  28. (
  29. row_name TEXT,
  30. category_1 TEXT,
  31. category_2 TEXT,
  32. category_3 TEXT,
  33. category_4 TEXT
  34. );
  35. CREATE FUNCTION crosstab2(text)
  36. RETURNS setof tablefunc_crosstab_2
  37. AS 'MODULE_PATHNAME','crosstab'
  38. LANGUAGE C STABLE STRICT;
  39. CREATE FUNCTION crosstab3(text)
  40. RETURNS setof tablefunc_crosstab_3
  41. AS 'MODULE_PATHNAME','crosstab'
  42. LANGUAGE C STABLE STRICT;
  43. CREATE FUNCTION crosstab4(text)
  44. RETURNS setof tablefunc_crosstab_4
  45. AS 'MODULE_PATHNAME','crosstab'
  46. LANGUAGE C STABLE STRICT;
  47. -- obsolete:
  48. CREATE FUNCTION crosstab(text,int)
  49. RETURNS setof record
  50. AS 'MODULE_PATHNAME','crosstab'
  51. LANGUAGE C STABLE STRICT;
  52. CREATE FUNCTION crosstab(text,text)
  53. RETURNS setof record
  54. AS 'MODULE_PATHNAME','crosstab_hash'
  55. LANGUAGE C STABLE STRICT;
  56. CREATE FUNCTION connectby(text,text,text,text,int,text)
  57. RETURNS setof record
  58. AS 'MODULE_PATHNAME','connectby_text'
  59. LANGUAGE C STABLE STRICT;
  60. CREATE FUNCTION connectby(text,text,text,text,int)
  61. RETURNS setof record
  62. AS 'MODULE_PATHNAME','connectby_text'
  63. LANGUAGE C STABLE STRICT;
  64. -- These 2 take the name of a field to ORDER BY as 4th arg (for sorting siblings)
  65. CREATE FUNCTION connectby(text,text,text,text,text,int,text)
  66. RETURNS setof record
  67. AS 'MODULE_PATHNAME','connectby_text_serial'
  68. LANGUAGE C STABLE STRICT;
  69. CREATE FUNCTION connectby(text,text,text,text,text,int)
  70. RETURNS setof record
  71. AS 'MODULE_PATHNAME','connectby_text_serial'
  72. LANGUAGE C STABLE STRICT;
上海开阖软件有限公司 沪ICP备12045867号-1