Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Output infinity as 1e999 in the ".dump" command of the command-line shell. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
ee431d55eba618cfba414c3946b3162b |
User & Date: | drh 2018-06-13 17:19:20.239 |
Context
2018-06-18
| ||
19:09 | Fix typo in the 'normalize' extension. (check-in: 0c9163ea23 user: mistachkin tags: trunk) | |
2018-06-14
| ||
14:30 | Merge latest trunk changes into this branch. (check-in: 5cf5f1808a user: dan tags: exp-window-functions) | |
2018-06-13
| ||
17:19 | Output infinity as 1e999 in the ".dump" command of the command-line shell. (check-in: ee431d55eb user: drh tags: trunk) | |
16:52 | Pad out the sqlite3_value structure to be a multiple of 8 bytes. (check-in: f76dc33bde user: drh tags: trunk) | |
Changes
Changes to ext/misc/dbdump.c.
︙ | ︙ | |||
481 482 483 484 485 486 487 | switch( sqlite3_column_type(pStmt,i) ){ case SQLITE_INTEGER: { output_formatted(p, "%lld", sqlite3_column_int64(pStmt,i)); break; } case SQLITE_FLOAT: { double r = sqlite3_column_double(pStmt,i); | > > > > > > > | > | 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 | switch( sqlite3_column_type(pStmt,i) ){ case SQLITE_INTEGER: { output_formatted(p, "%lld", sqlite3_column_int64(pStmt,i)); break; } case SQLITE_FLOAT: { double r = sqlite3_column_double(pStmt,i); sqlite3_uint64 ur; memcpy(&ur,&r,sizeof(r)); if( ur==0x7ff0000000000000LL ){ p->xCallback("1e999", p->pArg); }else if( ur==0xfff0000000000000LL ){ p->xCallback("-1e999", p->pArg); }else{ output_formatted(p, "%!.20g", r); } break; } case SQLITE_NULL: { p->xCallback("NULL", p->pArg); break; } case SQLITE_TEXT: { |
︙ | ︙ |
Changes to src/shell.c.in.
︙ | ︙ | |||
2029 2030 2031 2032 2033 2034 2035 | output_quoted_escaped_string(p->out, azArg[i]); } }else if( aiType && aiType[i]==SQLITE_INTEGER ){ utf8_printf(p->out,"%s", azArg[i]); }else if( aiType && aiType[i]==SQLITE_FLOAT ){ char z[50]; double r = sqlite3_column_double(p->pStmt, i); | > > > > > > > | | > | 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 | output_quoted_escaped_string(p->out, azArg[i]); } }else if( aiType && aiType[i]==SQLITE_INTEGER ){ utf8_printf(p->out,"%s", azArg[i]); }else if( aiType && aiType[i]==SQLITE_FLOAT ){ char z[50]; double r = sqlite3_column_double(p->pStmt, i); sqlite3_uint64 ur; memcpy(&ur,&r,sizeof(r)); if( ur==0x7ff0000000000000LL ){ raw_printf(p->out, "1e999"); }else if( ur==0xfff0000000000000LL ){ raw_printf(p->out, "-1e999"); }else{ sqlite3_snprintf(50,z,"%!.20g", r); raw_printf(p->out, "%s", z); } }else if( aiType && aiType[i]==SQLITE_BLOB && p->pStmt ){ const void *pBlob = sqlite3_column_blob(p->pStmt, i); int nBlob = sqlite3_column_bytes(p->pStmt, i); output_hex_blob(p->out, pBlob, nBlob); }else if( isNumber(azArg[i], 0) ){ utf8_printf(p->out,"%s", azArg[i]); }else if( ShellHasFlag(p, SHFLG_Newlines) ){ |
︙ | ︙ |