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

数据库系统

开发平台:

Unix_Linux

  1. --
  2. -- replace
  3. --
  4. --
  5. -- BTREE
  6. --
  7. UPDATE onek
  8.    SET unique1 = onek.unique1 + 1;
  9. UPDATE onek
  10.    SET unique1 = onek.unique1 - 1;
  11. --
  12. -- BTREE partial
  13. --
  14. -- UPDATE onek2
  15. --   SET unique1 = onek2.unique1 + 1;
  16. --UPDATE onek2 
  17. --   SET unique1 = onek2.unique1 - 1;
  18. --
  19. -- BTREE shutting out non-functional updates
  20. --
  21. -- the following two tests seem to take a long time on some 
  22. -- systems.    This non-func update stuff needs to be examined
  23. -- more closely.   - jolly (2/22/96)
  24. -- 
  25. UPDATE tmp
  26.    SET stringu1 = reverse_name(onek.stringu1)
  27.    WHERE onek.stringu1 = 'JBAAAA' and
  28.   onek.stringu1 = tmp.stringu1;
  29. UPDATE tmp
  30.    SET stringu1 = reverse_name(onek2.stringu1)
  31.    WHERE onek2.stringu1 = 'JCAAAA' and
  32.   onek2.stringu1 = tmp.stringu1;
  33. DROP TABLE tmp;
  34. --UPDATE person*
  35. --   SET age = age + 1;
  36. --UPDATE person*
  37. --   SET age = age + 3
  38. --   WHERE name = 'linda';
  39. --
  40. -- copy
  41. --
  42. COPY onek TO '_OBJWD_/results/onek.data';
  43. DELETE FROM onek;
  44. COPY onek FROM '_OBJWD_/results/onek.data';
  45. SELECT unique1 FROM onek WHERE unique1 < 2;
  46. DELETE FROM onek2;
  47. COPY onek2 FROM '_OBJWD_/results/onek.data';
  48. SELECT unique1 FROM onek2 WHERE unique1 < 2;
  49. COPY BINARY stud_emp TO '_OBJWD_/results/stud_emp.data';
  50. DELETE FROM stud_emp;
  51. COPY BINARY stud_emp FROM '_OBJWD_/results/stud_emp.data';
  52. SELECT * FROM stud_emp;
  53. -- COPY aggtest FROM stdin;
  54. -- 56 7.8
  55. -- 100 99.097
  56. -- 0 0.09561
  57. -- 42 324.78
  58. -- .
  59. -- COPY aggtest TO stdout;
  60. --
  61. -- inheritance stress test
  62. --
  63. SELECT * FROM a_star*;
  64. SELECT * 
  65.    FROM b_star* x
  66.    WHERE x.b = 'bumble'::text or x.a < 3;
  67. SELECT class, a 
  68.    FROM c_star* x 
  69.    WHERE x.c ~ 'hi'::text;
  70. SELECT class, b, c
  71.    FROM d_star* x
  72.    WHERE x.a < 100;
  73. SELECT class, c FROM e_star* x WHERE x.c NOTNULL;
  74. SELECT * FROM f_star* x WHERE x.c ISNULL;
  75. -- grouping and aggregation on inherited sets have been busted in the past...
  76. SELECT sum(a) FROM a_star*;
  77. SELECT class, sum(a) FROM a_star* GROUP BY class;
  78. ALTER TABLE f_star RENAME COLUMN f TO ff;
  79. ALTER TABLE e_star* RENAME COLUMN e TO ee;
  80. ALTER TABLE d_star* RENAME COLUMN d TO dd;
  81. ALTER TABLE c_star* RENAME COLUMN c TO cc;
  82. ALTER TABLE b_star* RENAME COLUMN b TO bb;
  83. ALTER TABLE a_star* RENAME COLUMN a TO aa;
  84. SELECT class, aa
  85.    FROM a_star* x
  86.    WHERE aa ISNULL;
  87. ALTER TABLE a_star RENAME COLUMN aa TO foo;
  88. SELECT class, foo
  89.    FROM a_star x
  90.    WHERE x.foo >= 2;
  91. ALTER TABLE a_star RENAME COLUMN foo TO aa;
  92. SELECT * 
  93.    from a_star*
  94.    WHERE aa < 1000;
  95. ALTER TABLE f_star ADD COLUMN f int4;
  96. UPDATE f_star SET f = 10;
  97. ALTER TABLE e_star* ADD COLUMN e int4;
  98. --UPDATE e_star* SET e = 42;
  99. SELECT * FROM e_star*;
  100. ALTER TABLE a_star* ADD COLUMN a text;
  101. --UPDATE b_star*
  102. --   SET a = 'gazpacho'::text
  103. --   WHERE aa > 4;
  104. SELECT class, aa, a FROM a_star*;
  105. --
  106. -- versions
  107. --
  108. --
  109. -- postquel functions
  110. --
  111. --
  112. -- mike does post_hacking,
  113. -- joe and sally play basketball, and
  114. -- everyone else does nothing.
  115. --
  116. SELECT p.name, p.hobbies.name FROM person p;
  117. --
  118. -- as above, but jeff also does post_hacking.
  119. --
  120. SELECT p.name, p.hobbies.name FROM person* p;
  121. --
  122. -- the next two queries demonstrate how functions generate bogus duplicates.
  123. -- this is a "feature" ..
  124. --
  125. SELECT DISTINCT hobbies_r.name, hobbies_r.equipment.name FROM hobbies_r;
  126. SELECT hobbies_r.name, hobbies_r.equipment.name FROM hobbies_r;
  127. --
  128. -- mike needs advil and peet's coffee,
  129. -- joe and sally need hightops, and
  130. -- everyone else is fine.
  131. --
  132. SELECT p.name, p.hobbies.name, p.hobbies.equipment.name FROM person p;
  133. --
  134. -- as above, but jeff needs advil and peet's coffee as well.
  135. --
  136. SELECT p.name, p.hobbies.name, p.hobbies.equipment.name FROM person* p;
  137. --
  138. -- just like the last two, but make sure that the target list fixup and
  139. -- unflattening is being done correctly.
  140. --
  141. SELECT p.hobbies.equipment.name, p.name, p.hobbies.name FROM person p;
  142. SELECT p.hobbies.equipment.name, p.name, p.hobbies.name FROM person* p;
  143. SELECT p.hobbies.equipment.name, p.hobbies.name, p.name FROM person p;
  144. SELECT p.hobbies.equipment.name, p.hobbies.name, p.name FROM person* p;
  145. SELECT user_relns() AS user_relns
  146.    ORDER BY user_relns;
  147. --SELECT name(equipment(hobby_construct('skywalking'::text, 'mer'::text))) AS equip_name;
  148. --
  149. -- functional joins
  150. --
  151. --
  152. -- instance rules
  153. --
  154. --
  155. -- rewrite rules
  156. --