isbn.sql
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:2k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. --
  2. -- PostgreSQL code for ISBNs.
  3. --
  4. -- $Id: isbn.sql,v 1.1 1998/08/17 03:35:05 scrappy Exp $
  5. --
  6. load '/usr/local/pgsql/modules/isbn.so';
  7. --
  8. -- Input and output functions and the type itself:
  9. --
  10. create function isbn_in(opaque)
  11. returns opaque
  12. as '/usr/local/pgsql/modules/isbn.so'
  13. language 'c';
  14. create function isbn_out(opaque)
  15. returns opaque
  16. as '/usr/local/pgsql/modules/isbn.so'
  17. language 'c';
  18. create type isbn (
  19. internallength = 16,
  20. externallength = 13,
  21. input = isbn_in,
  22. output = isbn_out
  23. );
  24. --
  25. -- The various boolean tests:
  26. --
  27. create function isbn_lt(isbn, isbn)
  28. returns bool
  29. as '/usr/local/pgsql/modules/isbn.so'
  30. language 'c';
  31. create function isbn_le(isbn, isbn)
  32. returns bool
  33. as '/usr/local/pgsql/modules/isbn.so'
  34. language 'c';
  35. create function isbn_eq(isbn, isbn)
  36. returns bool
  37. as '/usr/local/pgsql/modules/isbn.so'
  38. language 'c';
  39. create function isbn_ge(isbn, isbn)
  40. returns bool
  41. as '/usr/local/pgsql/modules/isbn.so'
  42. language 'c';
  43. create function isbn_gt(isbn, isbn)
  44. returns bool
  45. as '/usr/local/pgsql/modules/isbn.so'
  46. language 'c';
  47. create function isbn_ne(isbn, isbn)
  48. returns bool
  49. as '/usr/local/pgsql/modules/isbn.so'
  50. language 'c';
  51. --
  52. -- Now the operators.  Note how some of the parameters to some
  53. -- of the 'create operator' commands are commented out.  This
  54. -- is because they reference as yet undefined operators, and
  55. -- will be implicitly defined when those are, further down.
  56. --
  57. create operator < (
  58. leftarg = isbn,
  59. rightarg = isbn,
  60. -- negator = >=,
  61. procedure = isbn_lt
  62. );
  63. create operator <= (
  64. leftarg = isbn,
  65. rightarg = isbn,
  66. -- negator = >,
  67. procedure = isbn_le
  68. );
  69. create operator = (
  70. leftarg = isbn,
  71. rightarg = isbn,
  72. commutator = =,
  73. -- negator = <>,
  74. procedure = isbn_eq
  75. );
  76. create operator >= (
  77. leftarg = isbn,
  78. rightarg = isbn,
  79. negator = <,
  80. procedure = isbn_ge
  81. );
  82. create operator > (
  83. leftarg = isbn,
  84. rightarg = isbn,
  85. negator = <=,
  86. procedure = isbn_gt
  87. );
  88. create operator <> (
  89. leftarg = isbn,
  90. rightarg = isbn,
  91. negator = =,
  92. procedure = isbn_ne
  93. );
  94. --
  95. -- eof
  96. --