GeezerVison is showing github.com — [Bug]: CREATE TABLE with STRICT raises syntax error · Issue #3744 · sqlitebrowser/sqlitebrowser
[Bug]: CREATE TABLE with STRICT raises syntax error #3744DescriptionWhat did you do?
Running DB.Browser.for.SQLite-v3.13.0-x86.64.AppImage.
I tried modifying a table via Database Structure > Modify table but got a syntax error message, so I clicked on Create Table to create a simple strict table but got the same error:
Error creating table. Message from database engine:
near "STRICT": syntax error (CREATE TABLE "test" (
"Field1" INTEGER
) STRICT;)
I switched to Execute SQL and ran the SQL from above:
CREATE TABLE "test" (
"Field1" INT
) STRICT;
and got the same error:
Execution finished with errors.
Result: near "STRICT": syntax error
At line 1:
CREATE TABLE "test" (
"Field1" INT
) STRICT
Tried again with a new database and got the same error.
What did you expect to see?
Modification to strict table and creation of a strict table.
What did you see instead?
A SQL syntax error.
DB4S Version
3.13.0
What OS are you seeing the problem on?
Linux
OS version
No response
Relevant log output
No response
Prevention against duplicate issues
- I have searched for similar issues
Activitychanged the title [-][Bug]: Syntax error in CREATE TABLE with STRICT[/-] [+][Bug]: CREATE TABLE with STRICT raises syntax error[/+] on Sep 26, 2024midoragh commented on Sep 26, 2024 Check the SQLite version.
The STRICT keyword at the end of a CREATE TABLE statement is only recognized by SQLite version 3.37.0 (2021-11-27) and later. fehmud commented on Sep 26, 2024 Isn't the SQLite library included in the AppImage? Anyway, according to my system's package manager, libsqlite's version is 3.37.2 (I checked for STRICT functionality before submitting the bug). SQLite CLI is not installed. justinclift commented on Sep 26, 2024 Oh, that sounds like there might be a packaging bug with the AppImage then.
@fehmud In theory the Help -> About dialog should show what version of SQLite it's trying to use. What does that say? 😄 fehmud commented on Sep 26, 2024 It could be using an older version:
DB Browser for SQLite Version 3.13.0
Last commit hash when built: 777fe12
Built for x86_64-little_endian-lp64, running on x86_64
Qt Version 5.12.8
SQLCipher Version 3.4.1 (based on SQLite 3.15.2). <= see here justinclift commented on Sep 26, 2024 Yep, sounds like the AppImage is packaging the wrong SQLCipher library. 😉
@lucydodo Any interest in taking a look? lucydodo commented on Sep 27, 2024 I'll do some testing tomorrow and fix it. Note that this issue is due to the fact that we currently get the SQLCipher library from the official Ubuntu mirror, so we are picking up a relatively outdated version. lucydodo commented on Sep 28, 2024 This issue was resolved with commit 4d530dc.
Until a new stable version release, you can use either a continuous build or a nightly build:
added a commit that references this issue on Oct 1, 2024This issue will close once commit 4d530dc is merged into the 'master' branch.4d530dc mgrojo commented on Oct 23, 2024 @lucydodo This solution might include support for the STRICT keyword, but then it breaks support on older distributions altogether. The recommendation by AppImageKit is to use the oldest still-supported LTS. Maybe we can still build with Ubuntu 20.04, but including a more modern version of SQLite than the one distributed with it.
This is what happens on Ubuntu 22.04:
/tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped)
/tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped)
/tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped)
/tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_DB.BroDqcyJ0/usr/bin/../lib/libQt5Network.so.5)
/tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_DB.BroDqcyJ0/usr/bin/../lib/libQt5Gui.so.5)
/tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_DB.BroDqcyJ0/usr/bin/../lib/libgssapi_krb5.so.2)
/tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_DB.BroDqcyJ0/usr/bin/../lib/libicui18n.so.74)
/tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_DB.BroDqcyJ0/usr/bin/../lib/libicui18n.so.74)
/tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_DB.BroDqcyJ0/usr/bin/../lib/libicuuc.so.74)
/tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_DB.BroDqcyJ0/usr/bin/../lib/libicuuc.so.74)
/tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_DB.BroDqcyJ0/usr/bin/../lib/libglib-2.0.so.0)
/tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_DB.BroDqcyJ0/usr/bin/../lib/libkrb5.so.3)
/tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_DB.BroDqcyJ0/usr/bin/../lib/libk5crypto.so.3)
/tmp/.mount_DB.BroDqcyJ0/AppRun.wrapped: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_DB.BroDqcyJ0/usr/bin/../lib/libkrb5support.so.0)
lucydodo commented on Oct 25, 2024 Yes, in fact, I learned this a little while ago. I plan to patch it late this afternoon. :)
Related: #3781 lucydodo commented on Oct 25, 2024
MetadataMetadataDevelopmentNo branches or pull requestsIssue actions
|