---
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
## Summary
|
||||
<!--Explain briefly what goes wrong and explain why you believe this is a bug and not the intended behavior of SQLite (if it is not a crash).-->**No review yet**
|
||||
|
||||
## Minimized query
|
||||
|
||||
```sql
|
||||
PRAGMA vdbe_addoptrace = FALSE;
|
||||
BEGIN DEFERRED;
|
||||
.log OFF
|
||||
.trace
|
||||
PRAGMA query_only;
|
||||
CREATE TABLE customer (id INT PRIMARY KEY);
|
||||
CREATE TABLE apr (id INT PRIMARY KEY, apr REAL);
|
||||
CREATE VIEW v1 AS SELECT c.id, i.apr FROM customer c LEFT JOIN apr i ON i.id<c.id;
|
||||
CREATE VIEW v1rj AS SELECT c.id, i.apr FROM apr i RIGHT JOIN customer c /* glob('[0-9]', '5') */ ON i.id=c.id;
|
||||
CREATE VIEW v2 AS SELECT c.id, v1.apr FROM customer c LEFT JOIN v1 ON v1.id=c.id;
|
||||
CREATE VIEW v2rj AS SELECT c.id, v1.apr FROM v1 RIGHT JOIN customer c ON v1.id=c.id;
|
||||
CREATE VIEW v2rjrj AS SELECT c.id, v1rj.apr FROM v1rj RIGHT JOIN customer c ON v1rj.id=c.id;
|
||||
INSERT INTO customer (id) VALUES ((-(-(CAST(0 AS INTEGER))) - 0));
|
||||
INSERT INTO apr (id, apr) VALUES (1, 12);
|
||||
INSERT INTO customer (id) VALUES (2);
|
||||
INSERT INTO apr (id, apr) VALUES (2, 12.01);
|
||||
PRAGMA automatic_index=ON;
|
||||
SELECT id, (apr / 100), typeof(apr) apr_type FROM v1;
|
||||
|
||||
SELECT * FROM customer WHERE +id = (SELECT id FROM customer t2 WHERE t2.id = customer.id LIMIT 1);
|
||||
|
||||
SELECT COUNT(*) FROM apr;
|
||||
INSERT OR REPLACE INTO customer VALUES (NULL);
|
||||
INSERT INTO customer VALUES (NULL);
|
||||
VACUUM;
|
||||
ALTER TABLE customer RENAME TO customer_r4263;
|
||||
ANALYZE;
|
||||
PRAGMA count_changes = ON;
|
||||
UPDATE apr SET apr = '' RETURNING *;
|
||||
SELECT COUNT(*) FILTER (WHERE apr > 0) OVER (ORDER BY apr RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM apr;
|
||||
ALTER TABLE customer ADD COLUMN extra_1568 UNSIGNED BIG INT COLLATE RTRIM;
|
||||
SELECT * FROM (SELECT * FROM customer ORDER BY id) AS sub LIMIT 10;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b TEXT
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,'a'),(2,'b');
|
||||
INSERT INTO T2 VALUES (1,'c'),(1,'d');
|
||||
SELECT T1.b,
|
||||
(
|
||||
SELECT GROUP_CONCAT(b,',')
|
||||
FROM T2
|
||||
WHERE T2.a=T1.a
|
||||
) AS c
|
||||
FROM T1;
|
||||
VACUUM;
|
||||
|
||||
SELECT COUNT(*) FROM apr;
|
||||
COMMIT;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T2_1827 AS SELECT b FROM T2;
|
||||
INSERT OR ROLLBACK INTO customer VALUES ('x');
|
||||
ALTER TABLE apr ADD COLUMN extra_5122 DOUBLE DEFAULT (random());
|
||||
REINDEX;
|
||||
DELETE FROM T2 WHERE a IS NULL RETURNING *;
|
||||
WITH cte AS (SELECT * FROM T2) SELECT (SELECT COUNT(*) FROM cte) AS total, * FROM cte LIMIT 1;
|
||||
ANALYZE apr;
|
||||
|
||||
SELECT COUNT(*) FROM customer;
|
||||
SELECT * FROM apr;
|
||||
PRAGMA cache_spill;
|
||||
SELECT ROW_NUMBER() OVER (PARTITION BY id ORDER BY id) FROM apr;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
Usage: /home/test/sqlite3-src/build/sqlite3 [OPTIONS] FILENAME [SQL]
|
||||
FILENAME is the name of an SQLite database. A new database is created
|
||||
if the file does not previously exist.
|
||||
OPTIONS include:
|
||||
-append append the database to the end of the file
|
||||
-ascii set output mode to 'ascii'
|
||||
-bail stop after hitting an error
|
||||
-batch force batch I/O
|
||||
-box set output mode to 'box'
|
||||
-column set output mode to 'column'
|
||||
-cmd COMMAND run "COMMAND" before reading stdin
|
||||
-csv set output mode to 'csv'
|
||||
-deserialize open the database using sqlite3_deserialize()
|
||||
-echo print commands before execution
|
||||
-init FILENAME read/process named file
|
||||
-[no]header turn headers on or off
|
||||
-help show this message
|
||||
-html set output mode to HTML
|
||||
-interactive force interactive I/O
|
||||
-json set output mode to 'json'
|
||||
-line set output mode to 'line'
|
||||
-list set output mode to 'list'
|
||||
-lookaside SIZE N use N entries of SZ bytes for lookaside memory
|
||||
-markdown set output mode to 'markdown'
|
||||
-maxsize N maximum size for a --deserialize database
|
||||
-memtrace trace all memory allocations and deallocations
|
||||
-mmap N default mmap size set to N
|
||||
-newline SEP set output row separator. Default: '\n'
|
||||
-nofollow refuse to open symbolic links to database files
|
||||
-nonce STRING set the safe-mode escape nonce
|
||||
-nullvalue TEXT set text string for NULL values. Default ''
|
||||
-pagecache SIZE N use N slots of SZ bytes each for page cache memory
|
||||
-quote set output mode to 'quote'
|
||||
-readonly open the database read-only
|
||||
-safe enable safe-mode
|
||||
-separator SEP set output column separator. Default: '|'
|
||||
-stats print memory stats before each finalize
|
||||
-table set output mode to 'table'
|
||||
-tabs set output mode to 'tabs'
|
||||
-version show SQLite version
|
||||
-vfs NAME use NAME as the default VFS
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-help
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user