Skip to content

Problems with WITHOUT ROWID tables #1332

@mikf

Description

@mikf

Details for the issue

Interacting with a WITHOUT ROWID table causes multiple issues:

CREATE TABLE test (item PRIMARY KEY, extra) WITHOUT ROWID;
INSERT INTO test VALUES("test1", 123);
INSERT INTO test VALUES("'test2': 'value'", 234);
  1. Trying to delete the second row in DB4S by selecting it and clicking "Delete Record" fails with
executeSQL:  "DELETE FROM `test` WHERE `item` IN (''test2': 'value'');" -> near "test2": syntax error
deleteRecord:  "near \"test2\": syntax error (DELETE FROM `test` WHERE `item` IN (''test2': 'value'');)"

Probably because of the single quote characters.

This row vanishes in the "Browse Data" view, even though it wasn't actually deleted, and re-appears whenever this view gets refreshed.

  1. The PRIMARY KEY column is displayed twice:

sqlitebrowser

Right-clicking on the column headers and selecting and unselecting "Show rowid column" removes the first item column, until the "Browse Data" view gets refreshed. Afterwards the "Filter" entries in the first row are misaligned.

sqlitebrowser2

After view refresh:
sqlitebrowser3

Useful extra information

I'm opening this issue because:

  • DB4S is crashing
  • DB4S has a bug
  • DB4S needs a feature
  • DB4S has another problem

I'm using DB4S on:

  • Windows: ( version: ___ )
  • Linux: ( distro: ___ )
  • Mac OS: ( version: ___ )
  • Other: ___

I'm using DB4S version:

  • 3.10.1
  • 3.10.0
  • 3.9.1
  • Other: ___

I have also:

Metadata

Metadata

Assignees

Labels

bugConfirmed bugs or reports that are very likely to be bugs.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions