Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix for ticket #64: Better error reporting in the shell. (CVS 676) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
e1842e04c4f47e1ce79575b5c787a164 |
User & Date: | drh 2002-07-13 17:33:45.000 |
Context
2002-07-15
| ||
18:55 | Fix for ticket #102: Honor the ORDER BY clause in subqueries. (CVS 677) (check-in: 7e918c8b0d user: drh tags: trunk) | |
2002-07-13
| ||
17:33 | Fix for ticket #64: Better error reporting in the shell. (CVS 676) (check-in: e1842e04c4 user: drh tags: trunk) | |
17:23 | Partial fix for ticket #96: Return SQLITE_MISUSE from sqlite_exec() if called from a child process with an active transaction that was started in the parent. (CVS 675) (check-in: 72a609ec64 user: drh tags: trunk) | |
Changes
Changes to src/shell.c.
︙ | ︙ | |||
8 9 10 11 12 13 14 | ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** This file contains code to implement the "sqlite" command line ** utility for accessing SQLite databases. ** | | | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** This file contains code to implement the "sqlite" command line ** utility for accessing SQLite databases. ** ** $Id: shell.c,v 1.61 2002/07/13 17:33:45 drh Exp $ */ #include <stdlib.h> #include <string.h> #include <stdio.h> #include "sqlite.h" #include <ctype.h> |
︙ | ︙ | |||
911 912 913 914 915 916 917 918 919 920 921 922 923 924 | ** cause this routine to exit immediately, unless input is interactive. */ static void process_input(struct callback_data *p, FILE *in){ char *zLine; char *zSql = 0; int nSql = 0; char *zErrMsg; while( fflush(p->out), (zLine = one_input_line(zSql, in))!=0 ){ if( seenInterrupt ){ if( in!=0 ) break; seenInterrupt = 0; } if( p->echoOn ) printf("%s\n", zLine); if( zLine && zLine[0]=='.' && nSql==0 ){ | > | 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 | ** cause this routine to exit immediately, unless input is interactive. */ static void process_input(struct callback_data *p, FILE *in){ char *zLine; char *zSql = 0; int nSql = 0; char *zErrMsg; int rc; while( fflush(p->out), (zLine = one_input_line(zSql, in))!=0 ){ if( seenInterrupt ){ if( in!=0 ) break; seenInterrupt = 0; } if( p->echoOn ) printf("%s\n", zLine); if( zLine && zLine[0]=='.' && nSql==0 ){ |
︙ | ︙ | |||
945 946 947 948 949 950 951 | strcpy(&zSql[nSql++], "\n"); strcpy(&zSql[nSql], zLine); nSql += len; } free(zLine); if( zSql && sqlite_complete(zSql) ){ p->cnt = 0; | | | > | | | > > > | 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 | strcpy(&zSql[nSql++], "\n"); strcpy(&zSql[nSql], zLine); nSql += len; } free(zLine); if( zSql && sqlite_complete(zSql) ){ p->cnt = 0; rc = sqlite_exec(db, zSql, callback, p, &zErrMsg); if( rc || zErrMsg ){ if( in!=0 && !p->echoOn ) printf("%s\n",zSql); if( zErrMsg!=0 ){ printf("SQL error: %s\n", zErrMsg); free(zErrMsg); zErrMsg = 0; }else{ printf("SQL error: %s\n", sqlite_error_string(rc)); } } free(zSql); zSql = 0; nSql = 0; } } if( zSql ){ |
︙ | ︙ |