Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch wrong-branch Excluding Merge-Ins
This is equivalent to a diff from 52b97a7ad5 to 94c6e8d971
2025-03-15
| ||
20:35 | Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 271e0373a8 user: drh tags: reuse-schema) | |
2025-03-05
| ||
16:35 | Improvement output for ".schema --indent" in the CLI when the schema contains partial indexes with long and complicated WHERE clauses. (check-in: defd7187ff user: drh tags: trunk) | |
16:30 | Improvement output for ".schema --indent" in the CLI when the schema contains partial indexes with long and complicated WHERE clauses. (Leaf check-in: 94c6e8d971 user: drh tags: wrong-branch) | |
13:39 | Update Lemon so that it accepts filename arguments to directives like "%include". Ex: "%include <./subdir/file-to-include.txt>". This was capability needed by pikchr and backported here for safe keeping. SQLite does not need this capability, though it doesn't hurt to have it in tree. (check-in: 52b97a7ad5 user: drh tags: reuse-schema) | |
2025-03-04
| ||
17:06 | Fix pointless comparison of an unsigned integer to less than zero in Lemon. (check-in: 559560da45 user: drh tags: reuse-schema) | |
Changes to src/shell.c.in.
︙ | ︙ | |||
2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 | case MODE_Pretty: { /* .schema and .fullschema with --indent */ char *z; int j; int nParen = 0; char cEnd = 0; char c; int nLine = 0; assert( nArg==1 ); if( azArg[0]==0 ) break; if( sqlite3_strlike("CREATE VIEW%", azArg[0], 0)==0 || sqlite3_strlike("CREATE TRIG%", azArg[0], 0)==0 ){ sqlite3_fprintf(p->out, "%s;\n", azArg[0]); break; } z = sqlite3_mprintf("%s", azArg[0]); shell_check_oom(z); j = 0; for(i=0; IsSpace(z[i]); i++){} for(; (c = z[i])!=0; i++){ if( IsSpace(c) ){ if( z[j-1]=='\r' ) z[j-1] = '\n'; | > > > > | 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 | case MODE_Pretty: { /* .schema and .fullschema with --indent */ char *z; int j; int nParen = 0; char cEnd = 0; char c; int nLine = 0; int isIndex; int isWhere = 0; assert( nArg==1 ); if( azArg[0]==0 ) break; if( sqlite3_strlike("CREATE VIEW%", azArg[0], 0)==0 || sqlite3_strlike("CREATE TRIG%", azArg[0], 0)==0 ){ sqlite3_fprintf(p->out, "%s;\n", azArg[0]); break; } isIndex = sqlite3_strlike("CREATE INDEX%", azArg[0], 0)==0 || sqlite3_strlike("CREATE UNIQUE INDEX%", azArg[0], 0)==0; z = sqlite3_mprintf("%s", azArg[0]); shell_check_oom(z); j = 0; for(i=0; IsSpace(z[i]); i++){} for(; (c = z[i])!=0; i++){ if( IsSpace(c) ){ if( z[j-1]=='\r' ) z[j-1] = '\n'; |
︙ | ︙ | |||
2775 2776 2777 2778 2779 2780 2781 | cEnd = ']'; }else if( c=='-' && z[i+1]=='-' ){ cEnd = '\n'; }else if( c=='(' ){ nParen++; }else if( c==')' ){ nParen--; | | > > > > > > > > > > > > | 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 | cEnd = ']'; }else if( c=='-' && z[i+1]=='-' ){ cEnd = '\n'; }else if( c=='(' ){ nParen++; }else if( c==')' ){ nParen--; if( nLine>0 && nParen==0 && j>0 && !isWhere ){ printSchemaLineN(p->out, z, j, "\n"); j = 0; } }else if( (c=='w' || c=='W') && nParen==0 && isIndex && sqlite3_strnicmp("WHERE",&z[i],5)==0 && !isalnum(z[i+5]) && z[i+5]!='_' ){ isWhere = 1; }else if( isWhere && (c=='A' || c=='a') && nParen==0 && sqlite3_strnicmp("AND",&z[i],3)==0 && !isalnum(z[i+3]) && z[i+3]!='_' ){ printSchemaLineN(p->out, z, j, "\n "); j = 0; } z[j++] = c; if( nParen==1 && cEnd==0 && (c=='(' || c=='\n' || (c==',' && !wsToEol(z+i+1))) && !isWhere ){ if( c=='\n' ) j--; printSchemaLineN(p->out, z, j, "\n "); j = 0; nLine++; while( IsSpace(z[i+1]) ){ i++; } } |
︙ | ︙ |