numerology.err 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. Registering pre-existing tables
  2. int4_tbl
  3. INT4_TBL
  4. float8_tbl
  5. INT2_TBL
  6. int2_tbl
  7. FLOAT8_TBL
  8. <sql-statement>
  9. --
  10. -- NUMEROLOGY
  11. -- Test various combinations of numeric types and functions.
  12. --
  13. --
  14. -- Test implicit type conversions
  15. -- This fails for Postgres v6.1 (and earlier?)
  16. -- so let's try explicit conversions for now - tgl 97/05/07
  17. --
  18. CREATE TABLE TEMP_FLOAT (f1 FLOAT8);
  19. </sql-statement>
  20. <sql-statement>
  21. INSERT INTO TEMP_FLOAT (f1)
  22. SELECT float8(f1) FROM INT4_TBL;
  23. </sql-statement>
  24. <sql-statement>
  25. INSERT INTO TEMP_FLOAT (f1)
  26. SELECT float8(f1) FROM INT2_TBL;
  27. </sql-statement>
  28. <sql-statement>
  29. SELECT f1 FROM TEMP_FLOAT
  30. ORDER BY f1;
  31. </sql-statement>
  32. <sql-statement>
  33. -- int4
  34. CREATE TABLE TEMP_INT4 (f1 INT4);
  35. </sql-statement>
  36. <sql-statement>
  37. INSERT INTO TEMP_INT4 (f1)
  38. SELECT int4(f1) FROM FLOAT8_TBL
  39. WHERE (f1 > -2147483647) AND (f1 < 2147483647);
  40. </sql-statement>
  41. <sql-statement>
  42. INSERT INTO TEMP_INT4 (f1)
  43. SELECT int4(f1) FROM INT2_TBL;
  44. </sql-statement>
  45. <sql-statement>
  46. SELECT f1 FROM TEMP_INT4
  47. ORDER BY f1;
  48. </sql-statement>
  49. <sql-statement>
  50. -- int2
  51. CREATE TABLE TEMP_INT2 (f1 INT2);
  52. </sql-statement>
  53. <sql-statement>
  54. INSERT INTO TEMP_INT2 (f1)
  55. SELECT int2(f1) FROM FLOAT8_TBL
  56. WHERE (f1 >= -32767) AND (f1 <= 32767);
  57. </sql-statement>
  58. <sql-statement>
  59. INSERT INTO TEMP_INT2 (f1)
  60. SELECT int2(f1) FROM INT4_TBL
  61. WHERE (f1 >= -32767) AND (f1 <= 32767);
  62. </sql-statement>
  63. <sql-statement>
  64. SELECT f1 FROM TEMP_INT2
  65. ORDER BY f1;
  66. </sql-statement>
  67. <sql-statement>
  68. --
  69. -- Group-by combinations
  70. --
  71. CREATE TABLE TEMP_GROUP (f1 INT4, f2 INT4, f3 FLOAT8);
  72. </sql-statement>
  73. <sql-statement>
  74. INSERT INTO TEMP_GROUP
  75. SELECT 1, (- i.f1), (- f.f1)
  76. FROM INT4_TBL i, FLOAT8_TBL f;
  77. </sql-statement>
  78. <sql-statement>
  79. INSERT INTO TEMP_GROUP
  80. SELECT 2, i.f1, f.f1
  81. FROM INT4_TBL i, FLOAT8_TBL f;
  82. </sql-statement>
  83. -stdin-:<main>: Error: Type annotation
  84. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem
  85. INSERT INTO TEMP_GROUP
  86. ^
  87. -stdin-:<main>:1:1: Error: Duplicated member: f1
  88. INSERT INTO TEMP_GROUP
  89. ^
  90. <sql-statement>
  91. SELECT DISTINCT f1 AS two FROM TEMP_GROUP ORDER BY 1;
  92. </sql-statement>
  93. <sql-statement>
  94. SELECT f1 AS two, max(f3) AS max_float, min(f3) as min_float
  95. FROM TEMP_GROUP
  96. GROUP BY f1
  97. ORDER BY two, max_float, min_float;
  98. </sql-statement>
  99. <sql-statement>
  100. -- GROUP BY a result column name is not legal per SQL92, but we accept it
  101. -- anyway (if the name is not the name of any column exposed by FROM).
  102. SELECT f1 AS two, max(f3) AS max_float, min(f3) AS min_float
  103. FROM TEMP_GROUP
  104. GROUP BY two
  105. ORDER BY two, max_float, min_float;
  106. </sql-statement>
  107. -stdin-:<main>: Error: Type annotation
  108. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem
  109. -- GROUP BY a result column name is not legal per SQL92, but we accept it
  110. ^
  111. -stdin-:<main>:5:12: Error: No such column: two
  112. GROUP BY two
  113. ^
  114. <sql-statement>
  115. SELECT f1 AS two, (max(f3) + 1) AS max_plus_1, (min(f3) - 1) AS min_minus_1
  116. FROM TEMP_GROUP
  117. GROUP BY f1
  118. ORDER BY two, min_minus_1;
  119. </sql-statement>
  120. <sql-statement>
  121. SELECT f1 AS two,
  122. max(f2) + min(f2) AS max_plus_min,
  123. min(f3) - 1 AS min_minus_1
  124. FROM TEMP_GROUP
  125. GROUP BY f1
  126. ORDER BY two, min_minus_1;
  127. </sql-statement>
  128. <sql-statement>
  129. DROP TABLE TEMP_INT2;
  130. </sql-statement>
  131. <sql-statement>
  132. DROP TABLE TEMP_INT4;
  133. </sql-statement>
  134. <sql-statement>
  135. DROP TABLE TEMP_FLOAT;
  136. </sql-statement>
  137. <sql-statement>
  138. DROP TABLE TEMP_GROUP;
  139. </sql-statement>