/ Check-in [b5652439]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Add a few more requirements tests.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: b5652439d5d770f0edeb80c8f55fa7cc515482e3
User & Date: drh 2014-08-11 17:37:27
Context
2014-08-11
17:38
Fix for #ifdef issue with GetVersionEx in the Win32 VFS. check-in: 1a0d466d user: mistachkin tags: trunk
17:37
Add a few more requirements tests. check-in: b5652439 user: drh tags: trunk
15:54
Updates to evidence marks and requirements. No changes to code. check-in: 62d38308 user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/main.c.

  2073   2073     SQLITE_MAX_COLUMN,
  2074   2074     SQLITE_MAX_EXPR_DEPTH,
  2075   2075     SQLITE_MAX_COMPOUND_SELECT,
  2076   2076     SQLITE_MAX_VDBE_OP,
  2077   2077     SQLITE_MAX_FUNCTION_ARG,
  2078   2078     SQLITE_MAX_ATTACHED,
  2079   2079     SQLITE_MAX_LIKE_PATTERN_LENGTH,
  2080         -  SQLITE_MAX_VARIABLE_NUMBER,
         2080  +  SQLITE_MAX_VARIABLE_NUMBER,      /* IMP: R-38091-32352 */
  2081   2081     SQLITE_MAX_TRIGGER_DEPTH,
  2082   2082   };
  2083   2083   
  2084   2084   /*
  2085   2085   ** Make sure the hard limits are set to reasonable values
  2086   2086   */
  2087   2087   #if SQLITE_MAX_LENGTH<100

Changes to test/e_expr.test.

  1591   1591   
  1592   1592   # EVIDENCE-OF: R-43164-44276 If there is no prefix that can be
  1593   1593   # interpreted as an integer number, the result of the conversion is 0.
  1594   1594   #
  1595   1595   do_expr_test e_expr-30.4.1 { CAST('' AS INTEGER) } integer 0
  1596   1596   do_expr_test e_expr-30.4.2 { CAST('not a number' AS INTEGER) } integer 0
  1597   1597   do_expr_test e_expr-30.4.3 { CAST('XXI' AS INTEGER) } integer 0
         1598  +
         1599  +# EVIDENCE-OF: R-08980-53124 The CAST operator understands decimal
         1600  +# integers only &mdash; conversion of hexadecimal integers stops at
         1601  +# the "x" in the "0x" prefix of the hexadecimal integer string and thus
         1602  +# result of the CAST is always zero.
         1603  +do_expr_test e_expr-30.5.1 { CAST('0x1234' AS INTEGER) } integer 0
         1604  +do_expr_test e_expr-30.5.2 { CAST('0X1234' AS INTEGER) } integer 0
  1598   1605   
  1599   1606   # EVIDENCE-OF: R-02752-50091 A cast of a REAL value into an INTEGER
  1600   1607   # results in the integer between the REAL value and zero that is closest
  1601   1608   # to the REAL value.
  1602   1609   #
  1603   1610   do_expr_test e_expr-31.1.1 { CAST(3.14159 AS INTEGER) } integer 3
  1604   1611   do_expr_test e_expr-31.1.2 { CAST(1.99999 AS INTEGER) } integer 1