Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AST-based SQLite driver #164

Draft
wants to merge 37 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
aac00ce
Split, cleanup, and reorganize the SQLite driver prototype
JanJakes Nov 13, 2024
44641e1
Namespace-prefix the WIP SQLite driver for now to avoid naming conflicts
JanJakes Nov 14, 2024
be35587
Copy WP_SQLite_Translator_Tests and run them against the SQLite driver
JanJakes Nov 14, 2024
c8ea855
Copy the core of WP_SQLite_Translator to WP_SQLite_Driver
JanJakes Nov 18, 2024
62943d6
Add a base generic WP_Parser_Token class, add docs
JanJakes Nov 19, 2024
3449b0b
Complete WP_Parser_Node helper methods, add tests
JanJakes Nov 19, 2024
65afd67
Add basic support for SELECT statements, add unit tests
JanJakes Nov 19, 2024
00ec46d
Add basic support for INSERT, UPDATE, REPLACE, DELETE
JanJakes Nov 20, 2024
b8b4500
Add basic support for CREATE TABLE, implement data types
JanJakes Nov 20, 2024
6be220d
Handle system variables
JanJakes Nov 21, 2024
70744b7
Add support for UPDATE with ORDER BY and LIMIT
JanJakes Nov 22, 2024
797c3b7
Handle specifics of the CREATE TABLE statement
JanJakes Nov 26, 2024
647eaae
Add basic ALTER TABLE support
JanJakes Dec 2, 2024
c515605
Fix MySQL syntax errors in tests
JanJakes Dec 2, 2024
1e5c311
Introduce information schema builder & create information schema tables
JanJakes Dec 19, 2024
b617ef9
Record CREATE TABLE table info in information schema
JanJakes Dec 19, 2024
dbd50e6
Record CREATE TABLE column info in information schema
JanJakes Dec 19, 2024
6bdb7aa
Record CREATE TABLE constraint info in information schema
JanJakes Dec 19, 2024
afeeb18
Record CREATE TABLE inline constraint info in information schema
JanJakes Dec 19, 2024
2eaf077
Sync constraint info to columns table when constraints are modified
JanJakes Dec 19, 2024
d03892d
Record ALTER TABLE ADD COLUMN(s) in information schema
JanJakes Dec 19, 2024
93f536e
Record ALTER TABLE ADD CONSTRAINT in information schema
JanJakes Dec 19, 2024
6940a5b
Record ALTER TABLE CHANGE/MODIFY COLUMN in information schema
JanJakes Dec 19, 2024
127efc2
Record ALTER TABLE DROP COLUMN in information schema
JanJakes Dec 19, 2024
71265ed
Record ALTER TABLE DROP INDEX in information schema
JanJakes Dec 20, 2024
71e8d08
Execute CREATE TABLE using information schema
JanJakes Dec 20, 2024
4b4fb8f
Execute ALTER TABLE using information schema
JanJakes Dec 20, 2024
a0a67c0
Implement SHOW CREATE TABLE using information schema
JanJakes Dec 20, 2024
837655c
Implement SHOW INDEX using information schema
JanJakes Dec 20, 2024
f11fb09
Implement SHOW GRANTS
JanJakes Dec 20, 2024
cf6008d
Implement DESCRIBE using information schema
JanJakes Dec 20, 2024
f5a52ca
Ignore index hints
JanJakes Dec 20, 2024
174916a
Add support for LIKE BINARY
JanJakes Jan 10, 2025
335388b
Add support for REGEXP functions
JanJakes Jan 10, 2025
191864c
Merge branch 'develop' into ast-sqlite-driver
adamziel Jan 10, 2025
f29464c
Add support for LEFT function
JanJakes Jan 10, 2025
8cfe7f4
Add support for DATE_ADD and DATE_SUB functions
JanJakes Jan 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ phpunit.xml.dist export-ignore
/.github export-ignore
/grammar-tools export-ignore
/tests export-ignore
/wip export-ignore
/wp-includes/mysql export-ignore
/wp-includes/parser export-ignore
/wp-includes/sqlite-ast export-ignore
/wp-includes/sqlite/class-wp-sqlite-crosscheck-db.php export-ignore
Loading
Loading