anyquery

Query anything (JSON, CSV, GitHub, Notion, Airtable, GSheets, emails, etc.) with SQL

OTHER License

Stars
343
Committers
4

Bot releases are visible (Hide)

anyquery - 0.1.3 Latest Release

Published by julien040 about 2 months ago

What is Anyquery?

Anyquery is a query engine that allows you to query anything over SQL.
Whether it's a local CSV, a Google Sheet, your Apple notes, or your GitHub stars, you can query it with Anyquery.

It's built on top of SQLite, and you can use alternative languages like PRQL and PQL to query your data.

Get started at anyquery.dev

Anyquery

Changelog

  • eb2a3a10b4f8baa240f411844e841995845f1280 ✨ Add -v, --version flags
  • a1859c6c0296244eea5d8f6759e91a2cae4644b5 ✨ Add Google Contacts plugin
  • 88433e1ca1e467ebd31762b17b24b977be5fa93d ✨ Add Nylas plugin
  • 73aff63c847a5ab46a9801a751330eac0b11fc70 ✨ Add new plugins from asg017
  • 2c921abaf5864f5f98ba34ec3c4f0f125764c759 ✨ Add plugin Google Tasks
  • 88ff95ffee5e2cc099fdd39740e68876f4747939 ✨ Add shopify plugin
  • 4f6646e221cfd6b58a2837adcb9183d181336689 ✨ Add sqlean extensions
  • aeaf765478fac2c9be897791e5eff0c24d733d9b ✨ Add table "github_stargazers_from_repository" to GitHub plugin
  • 2507e3b63493203965774d334cf9d1d88a0f2382 ✨ Make the JSON output stream
  • 4469f4131cc5b51ef9f21555ce86ca0d5abf76f4 🐛 Fix NULL to empty array
  • c0b5d53d6c68e942e35bca7c2e66c9a63e36ab1b 🐛 Fix issue with OAuth 2.0 scopes in Google Contacts plugin
  • 379cf22cbb863e7f2a8c5af1e65cce4f9933eafe 🐛 Fix issue with PRQL build (#9)
  • 34e4bf73e777438fa46e0f40610a0fe826d18c1f 🐛 Fix rare map race condition
  • 6166fef7e419eee0cc7291bc3e87c78248847624 💄 Add icons to integrations
  • b8e18cc4af69379e0d39581923b3c9140e3bf25c 💄 Add logo variant
  • 74d092b294ff6ba13768f0deeb32c109431be7ee 💄 Fix landing page from feedback
  • 7f64e90b826264f8ec1c5ef3d0c6000b5a7858dc 💄 Update website - Add a few changes to the landing - Hide test integrations - Update doc of Anyquery limitations
  • c823aac656291aca506e67beea1d9e538f15a880 📝 Add examples to commands reference
  • d060b52dc3f3119e09233ac317be644e2f2a8d17 📝 Update Google plugins documentation about OAuth
  • 9a2daa4361cb336c688fd7012a5055039298185c 📝 Update README.md
anyquery - 0.1.2

Published by julien040 2 months ago

What is Anyquery?

Anyquery is a query engine that allows you to query anything over SQL.
Whether it's a local CSV, a Google Sheet, your Apple notes, or your GitHub stars, you can query it with Anyquery.

It's built on top of SQLite, and you can use alternative languages like PRQL and PQL to query your data.

Get started at anyquery.dev

Anyquery

Changelog

  • ca8e135b7d25182dd242c9d2cdd32a813f05abbc ✏️ Fix 404 on footer
  • dcaedaca5abe7a8120075bc1e7ab5b44f3e94e66 ✨ Add Docker plugin
  • b5c8bb81841e712cc0295967352b748e59f75ef2 ✨ Add Todoist plugin
  • 0e6ded08082937f587fec6120389d59dd510bb3f ✨ Add Vercel plugin
  • 05c4dea951597e087a43e061b322f62893e833fb ✨ Add log querying
  • 0b84b5861af964aa13fd175df862bfbf5a72a8d8 ✨ Update HN plugin: add list tables
  • 84db1ad59adec71b515f6f22e6fe5adfa74b412f ⬆️ Update RPC dependency for plugins with DB
  • 344350816262d723531dfdb3f4d9ef9306db5127 🐛 Enclose column name for CSV, HTML, and JSONL
  • 88d3bdc496839f73b112ade9ea3750c3c8eb9703 💄 Add Product Hunt badge
  • 658ae541c42ff28eddac590dd8ce2aae77b77671 💬 Fix typo in README.md
  • 40b88b84cf7955b98d2eaffc9a4058b499aaa468 📝 Update doc
anyquery - 0.1.0

Published by julien040 2 months ago

What is Anyquery?

Anyquery is a query engine that allows you to query anything over SQL.
Whether it's a local CSV, a Google Sheet, your Apple notes, or your GitHub stars, you can query it with Anyquery.

It's built on top of SQLite, and you can use alternative languages like PRQL and PQL to query your data.

Get started at anyquery.dev

Anyquery

Changelog

  • 9fcd98bbf03045582d22f4a5a469e6640f6ceee9 🔥 Remove uncessary test output files
  • f8466c895847de5a8551632f12842b8539b7597c All downhill from here
  • 9a604dcee344ce9e37e7c0b3d5f7ebda4b56745a Merge pull request #1 from julien040/imgbot
  • 842eeaca66ae6de436f1deabdbe1c4369e6783c9 [ImgBot] Optimize images
  • fb4a628c98a0c5ba1d4691e9d330832fb70027a1 [ImgBot] Optimize images (#2)
  • 0c05f0adfcd6af01556eb545e7ba0e03c3a9a337 ♻️ Reorganize tooling command and add pass hashing Now, all the little command helper are under the tool command Also, I've added a command mysql-password that allows you to hash a password so that it can be used in the authentication file
  • 09fa7a8157c5b56bdb0a201598faa83bad588cf3 ⚡️ Make MySQL specific query more resilient Query like SHOW TABLES now show tables from plugins Also, namespaces don't block at one connection now anymore so that each MySQL query can have its own SQLite conn
  • 9c05588b9983beca147066772fdca33e45ac7a7a ✅ Add test for go-sqlite3 op code
  • fdec4c1f6ca87a3cb6f25b78b8d7ad6f698e518c ✅ Add tests for the plugin
  • 082ca0576bf7cea268fdf11a5f48b9060d3f5164 ✅ Add tests for the rpc package
  • 94529990783e9343c2d2969b4939f4ae48435d5c ✅ Fix tests logger Added a null logger to tests so that it doesn't sigsegv
  • 0659c619129631cc7f81cbe6ca60fc019bec92c0 ✨ Add ".sql" command
  • 9fb3918982b824d1a955f1cb8f1e0bbc5a813714 ✨ Add Airtable plugin
  • dabaf35e3b7aea171c3c5272173aea56610f0c45 ✨ Add Apple Notes plugin
  • 95418a2fe20ef0b9e249c1eb20e1288e3823d6c0 ✨ Add GitHub plugin
  • e9f26bcfadc139b280f0c93a65d989e0148ee404 ✨ Add Google Forms plugin
  • 3d93a6006838de46c1bc0c8d22f5ba6d405e579e ✨ Add Google Sheets plugin
  • 060e4d43c57097271bb8364f9bfac3d599722bee ✨ Add HN plugin
  • edfe9dcb68ffcf6c5832c5f2f6a1ef79909ed6e6 ✨ Add JSON and CSV tables
  • 68564b5e2322be2ec64cc0f8621f51e6b675650b ✨ Add Notion plugin
  • fcdd4c412e943fa8e1ebb2006f237c54a301f353 ✨ Add ORDER BY constraints to plugin context
  • 0de139ad738d62080260ba3b3972701c292859bf ✨ Add PRQL and PQL alternative languages for querying
  • 1e1ba631d3ac7775e58f9374710ee4166241324d ✨ Add XDG Base Directory Specification handling
  • f72e47c150679080038716945ae6cfd95b8e4404 ✨ Add a plugin to generate random data
  • 0a97c526f51fb1c211306badf05a1a8280130c59 ✨ Add ability to generate markdown docs of commands
  • da420a0e7d88de179288f91b575f7ff22698a2d1 ✨ Add apple reminders plugin
  • bc8c0df97410c439746dbd7ef0682819fa535fb3 ✨ Add calendar plugin
  • d2ecb36e6375c0bf61d3de3da4e252e1f84a0445 ✨ Add chromium based plugin
  • 39593c8d2c0079158f29f8119b98e1390674ad8e ✨ Add cli to manage the registry
  • aaeae761f8f18e6405ebc0ac16be57020c9b8718 ✨ Add config database with SQLite
  • 61f50fe0c961dfb5e84fbd874461e0441a71b497 ✨ Add connectionID to args in plugin
  • cc0e5206efe1f2e990436981fd2562acfb47679a ✨ Add developer mode
  • 1df4efcf6953a5e9089fceb282ae189a553ffd44 ✨ Add file plugin
  • d78c7dab73938c1e82b3f5d2545602995e95a461 ✨ Add git plugin
  • 4e83d118ac443a3f3afd4161a9e47e406f2626ee ✨ Add goreleaser config
  • fdde181226be3db5057108ca4870c0cff8d9ab2e ✨ Add hjson support for dev manifest
  • dc9c60d2cc658b617d2abf3a6ad143f63b53d766 ✨ Add homebrew plugin
  • 3a30624e338572869c7f8a46a4c92fdb2c3bf44c ✨ Add html elem reading for non table element
  • b1e41f47ca594120edf66b2aee2b838a5bf94846 ✨ Add imap plugin
  • 11408c07b6ee90bb01e6e25e528f6b2631b77df3 ✨ Add input description in profile form
  • 3ed5e7580b5d109e9e497b392d4fd29a92d6b7d6 ✨ Add integration pages
  • 121436e52d027e00a5e00aceb45bbf515fa3c331 ✨ Add ip-api.com plugin
  • df4b967a320ec9dee6ea1556a9ae7fdb398a797b ✨ Add middleware to allow dynamic schema
  • 420136226f6b5b1fa9527fe57ca4c977a73a404f ✨ Add new date functions
  • 8179dba559633483de8bb5981845ff5601e490f7 ✨ Add new fields to store manager
  • aace9b68f806993f296c8677e16666060575fa3f ✨ Add plugin PyPI
  • 4c0338a83307be33fc4c7aeff4da8d8415b4aecb ✨ Add pocket plugin
  • 8e5aec72a1e76bf762a7499c4a3f5cb43074449b ✨ Add profile and plugin commands
  • a1d102565afe347c63473cb48541f47131298470 ✨ Add raindrop plugin
  • abb57575e9c59c9ebc02a6763238cdf6c87180c7 ✨ Add read only database to namespace
  • a2e3ac61bf9ae14bf9e2fcf336f3e241eea4d30c ✨ Add read-only opening of the config database
  • 95f3b0439ab9eef69e4619ca48a8ae4cfb050590 ✨ Add registry and plugin download Anyquery is now able to download plugins and store them locally This works by using a registry. It's a simple HTTPS API that anyone can host. To ensure that a registry is compliant, the plugin will validate it against a JSON schema
  • a95769d809ce419d535fec442a6212265d87dd9d ✨ Add rss plugin
  • c8eeb12eb862b49c965aa53dbae137791f6a088a ✨ Add safari plugin
  • 2425c3f135151061dc0f3d675166eab076bd4f4a ✨ Add schema declaration in SQLite
  • 3993837954bf7e23de54703d740ee76f6df02a59 ✨ Add server command
  • 5e55dff1229e1a0bc673d9dd65a330d4d58bd7ef ✨ Add spotify plugin
  • 226b2b241d930052ab141af0edac60c51aa55895 ✨ Add support for Insert/Update/Delete operations on vtable
  • 5fe1f89e771630f9b718d797091f944ea8b88db6 ✨ Add syntax highlighting to landing page code
  • c11399b4487374b8396aae7e014e0e35dac410cb ✨ Add the ability to pass the json path as a second arg Before, to specify a json path, you had to pass the arg jsonpath='$.whatever' Now, you can just write read_json('file', '$.whatever')
  • bff740c2a2ae99a820479383dbe6902c15798737 ✨ Add the anyquery standard library It's a collection of useful functions that can be used in SQL queries
  • 0baec9915d6fb9d287639a8196e8ab9e6d52a649 ✨ Add the query command
  • 181ab8585d1370a2fcfbe96a430b7332e4849c47 ✨ Add typeform plugin
  • 41e3da5034723d79bbcd66adac0f9aeb4796673d ✨ Alias command created
  • b1fe9b846384afd5cabef9cab3c55f2f70b22824 ✨ Allow loading of local extensions in the CLI
  • d2ad074ba1fa509abf95df009cb8a5ed42f2bcd1 ✨ Allow plugins to redirect stderr to an io.Writer
  • d8281c6f8b2512adb3f8831d07dfe2c37cb3dbc8 ✨ Allow transaction with MySQL server Now each MySQL connection has its own SQLite connection so that BEGIN and COMMIT can work Also, some functions (like RunShowStatement) have been modified so that they can be exported and use by other packages
  • 7c56d99210234deb97882f9aec68a0d028a3e1b8 ✨ Built a library to help plugin creation
  • 3c39a264926ac5181e075d645f91c37a5b9fb93a ✨ Create reader for YAML, TOML, JSONL, Parquet and HTML files
  • 978b23f847e9239a44961354394704f656bde157 ✨ Create the registry related command
  • 895c11e1c1fd154dd50886d98a9afda9f07cc5fe ✨ Define commands hashdir and plugins
  • c8acf5bdc28cf56948ea7c9cd786285e7a412c2d ✨ Enable dev plugin in server mode
  • c3144ff694def01c6bca6c95dd461425edb599d5 ✨ Implement BestIndex, Disconnect, EOF, Filter, Next and RowId of Vtab
  • edd7028e0ece9e0b46c0f526e545cb5badc0e7b0 ✨ Implement RPC between the host and plugins
  • fe786cc8ce4810b6048a375b0a2157cba194d491 ✨ Implement column parsing for SQLite
  • 0feeceb92134b95e816da65fa87fab7fecf9cf92 ✨ Improve dev experience The CLI can now generate the plugin boilerplate Func reload_dev_plugin can now run a build command
  • 9300b77374b1c6ddec881041e4832fbcd34a6028 ✨ Introduce namespaces
  • 9b8c3a4cfe6828b9a92900b3fd02f0bb1a820fb1 ✨ Introducing connection pooler
  • 2e8ccb5116c26418f7a7095b073f9a8331d41430 ✨ Let user conf have different types than string Before this commit, configuration of plugins were handling only string. Now, by replacing it with an interface{}, more types can be handled (such as bool)
  • cca3a0896f410a1e5a4f81a93a6707eac587d378 ✨ Remove the requirement for a column parameter Before this commit, if a column was marked as a parameter, not adding it in the WHERE constraints would make the plugin to fail. Now, the same behaviour can be used if the column is marked as required. Therefore, a parameter column can be missing without any trouble.
  • d9dfd0eaa77f5d8c92a155e04e237b55fb2e48f8 ✨ Update GitHub plugin Add table my_issues
  • 8739e9f860f4f321c529e965f568f8b1888d57e7 ➕ Add asg017 SQLite extensions
  • d998114b2e1a4db7a02199f11933efeb466533ea ⬆️ Bump go-sqlite3-anyquery package By bumping this package, it pushes sqlite to version 3.46.0. It therefore solves the issue https://stackoverflow.com/q/78806496/15573415
  • 74b46c7d0fe4450838e2eeba1fb8c16a087a15aa ⬆️ Upgrade go-sqlite3 fork to last version This version handles the omit flag for an OFFSET
  • a3de328aef72b3452f2e6daf1a541b0255b31e82 🎨 Add IF NOT EXISTS to INFORMATION_SCHEMA views
  • e01a128eb5d7da13b20bcfe8ae591ff35d11115a 🎨 Add functions to create flags
  • d11571564e5ae522dd5b7a9497b56beea18e4f71 🎨 Create func signatures for the SQLite VTab
  • 245c931403eebcd5d54e60530a8fd17ccbc79fc9 🎨 Create structure for the CLI
  • 37b15203925e8ca9392921fe4df3edbc97f56b1d 🎨 Split the project in modules
  • bc02d1d8ae07fcae861aff1138f45b9cf98df16c 🏗 Update plugin types Add an operator type to represent an operator in a SQL query Add a flag in the schema to specify the table arguments
  • ce714b6f6cdade12b336a91db291581e93207bbd 🐛 Bump go-sqlite3 for segfault fix
  • 41013d14337ce74f2b975d0d862fd74dc9fb5d8f 🐛 Fix 404 in footer
  • 7d7f75113a218eeac222b479436ee8166cddbdf6 🐛 Fix ASCII Table division by zero When no column is passed to the ASCII table, a division by zero would occur.
  • 5097ae538c36d2750ae48c6f1dd9b41331f733d8 🐛 Fix Imap plugin the plugin wasn't requesting the right user config
  • 4448541c286e02a59c13b3ff0bb7bf04c59299a0 🐛 Fix cache issue The in-memory cache was way too high while the on-disk file was a bit small
  • bda27e2926a4bfbf621ba11f2b40611a2d5e9233 🐛 Fix default mode If no path is specified, the db is opened in memory. But the cobra flags were setting a default path, which means the DB was never opened in memory. The default path is now removed
  • 4299b92451fa64209d7fa57508528d9316e56389 🐛 Fix function signature of Vtab The SQLiteCursor interface uses: - Rowid() (int64, error) - Column(context *sqlite3.SQLiteContext, col int) error But the module had wrong signatures for these two functions. This commit fixes that.
  • a7a08d9e042265d7e0033796670998a341368b65 🐛 Fix issue in dev project initialization - The generated makefile now has a working make clean target - The manifest now includes files
  • b44ccae49bfe256af94a3ecb20681f4bb3ede172 🐛 Fix issue in module dropping In some special cases, Disconnect() is not called on a module but just DestroyModule. I have therefore copied the connection dropping func call to DestroyModule too
  • eead0c25519f25de930a7d3924533b74153f4603 🐛 Fix issue with DataGrip
  • d1e38e33bf5262f901a86e8404b5eaf4cf5d3059 🐛 Fix issue with PQL Created a fork of PQL (https://github.com/julien040/pql-anyquery) to remove coalesce See the README of the repo for more informations
  • 9a4a2c2d28a82a33f214f7941458897896b93641 🐛 Fix issue with alias LoadAsAnyqueryCLI function can't work on non aliased table name It was due to checking the err value of the DB. If err != nil, it means we didn't find any alias so the table name must be left as-is. However, this was interpreted as an error and therefore would result in UB
  • b182120e59c6ed361e8a543923bc002ccb665367 🐛 Fix issue with default output format When stdout isn't a tty, anyquery wasn't defaulting to plain format. It's now fixed
  • 814cc26c36fcee386769cc295c3f7c8471b2e7ae 🐛 Fix issue with developer mode
  • 0c6390e32e053bec865d0f6e1d1922bd5b708e9d 🐛 Fix issues related to multiple connections in MySQL
  • 8c75879d6eaea7b41688c63d0ee1d93bda04d562 🐛 Fix overwrite bug in store manager
  • 7694d09f2366f423ea36d359805eb206e157b0d4 🐛 Fix plugin tutorial command
  • 3ee37b5ccff90022a681c5578dada97f9dc640e9 🐛 Fix store manager issue If a plugin name would contain non alphanumeric name, the store manager would be stuck in an infinite loop. It's now fixed
  • ea05a02d7d9bfc0afa72284f525657bd067b5c6a 🐛 Fix table name in RSS plugin
  • bab323d006b645d4d2c14ca8bee4a3f262c646b8 🐛 Fix tables in Spotify plugin
  • be10bc9a40bc6204a0c4b690199a92625fd06b86 🐛 Fix user config for notion plugin
  • bc58cfbf0644e0e6b011e0211f57137bf7e47cb5 🐛 Prevent collisions with plugin ID naming
  • d540f084c9d23dbaad61690877b75374763dc048 🐛 Prevent data race with hashmap
  • 2ec60013b23e323ddd8c936a56bbbd4fb63ab4db 🐛 Remove *_reader table from SHOW TABLES
  • 9450c5a89ab7391320598fa5a912d9ac01d0c112 🐛 Remove unnecessary print
  • db03ff685b6a79ea5a80f9a2ab277070f37a3028 🐛 Split query execution method query/exec If a ddl statement fails and was run with db.Query, we won't get any error.
  • 271fdedba5cc6dc82f9ee6af31d469182cfec0e1 💄 Add alias to query command
  • b52e98718ff3a0cd4e2d95e23fdf8262d78f5b51 💄 Add icons
  • ebc33437a571c5bd91004597eb2b4c57d7130443 💄 Create a function to output tables
  • a50ec096a5a196271c4374d8fab98f31359cd004 💄 Create skeleton for the website
  • b531dab8f7ca04369406548bd72c86e87f99bb15 💄 Update UI for SQLite extensions
  • 62e380e248b074fa6f6e98e2dd0f6d6a0f5fda62 💬 Update SQL functions aliases
  • 80d6448ddb0b0e40ed5482e5e7a074e0d156fe81 💬 Update image CDN in plugin READMEs
  • 9fef0c0abd5dbe444b0dee84cc64346dd6fb1da6 📄 Add license
  • 1611870d3f4183ac4e1a78e5db6924261aa277ba 📌 Change go-sqlite3 dependency to a custom fork At https://tinyurl.com/28seb4bs line 470, we can see that when we set a constraint as used, it's added to the arg list for xFilter. However, it also sets the omit flag to true. This results in SQLite not checking for the validity of the row. In the fork https://github.com/julien040/go-sqlite3-anyquery/tree/v1.14.22, I set the omit flag to false which leaves the job of filtering to SQLite
  • 1fe8e93844b08febf19eae16db41b58424b57b34 📌 Run go mod tidy
  • 5e375eea12419cefc0b82d70286285101f51d818 📌 Run go mod tidy
  • 8d3f6f83f8fa74c33b815f56e9a56c206ab90831 📝 Add MySQL server documentation
  • 7dfcc23ce33a8d40dc0170903fe707eec14947ad 📝 Add beekeeper connection guide
  • e85a4b89a878dc043fe957fb4f36a92383229c58 📝 Add datagrip connection guide
  • 3a039a2b6e4990761ba216fee913e8b9f33015dc 📝 Add datasette connection guide
  • 177d162f044255a4c22a880a869f1d81d79d4047 📝 Add dbeaver and MySQL Workbench connection guide
  • 3c7b8cddabcbdc52f0ab412e1574786c895f9e81 📝 Add docs part to the website
  • 395d9de42ea66d97fa473119d18c2a435ec3b9d4 📝 Add documentation
  • c5d5a4db91d5bf509e360f8d3d868bff84eb5519 📝 Add documentation for the project and its architecture
  • 6cc7665ced8c8a380628e54e2847c5932eacc5c5 📝 Add documentation for using Anyquery
  • 87b7b6eccb95759283bb5eb3d3136ea709eb2bb9 📝 Add drizzle example
  • 724991e1454e3cf68b6c17da1650f2d9dbf98b1c 📝 Add functions and commands to documentation
  • 7be01d5c386ffb286adf25fc8060c2eed685927d 📝 Add new connection guides
  • 0959bd4521bc125c47b88ac2ba70d442cd4e66f7 📝 Add new recipes
  • cebeb50d22c7443c3bcdc972caade1321c72ed3e 📝 Add tablePlus connection guide
  • 7d6911fea3532cc5a9d976793e592b1e3d5a8076 📝 Add warning for git gc on git plugin
  • 805de60c2d4fbb4aa514f118b45b29514ab6a069 📝 fix URLs in querying-file doc
  • 7325484d4f1e7eb915ccce035516e0120e682bc7 🔊 Add debug logging
  • 57fb16f308aca72ca014d4d08d3d4e834ed0c574 🔊 Add logger to the plugin
  • 929ea7577da129938a035f8e66b7033dc7be004c 🔊 Add simple printing on signal receiving
  • d229a1aa9c6be1e18766ad0c83751c59081d9471 🔒️ Fix checksumming issue
  • 6aafed63fd4f806e7c9bcdfecb16c1f20c2cf5d3 🔥 Remove unnecessary logging
  • e83ee9f142ca8d1de11d32fa339e4c7a9152c301 🔧 Add .vscode conf
  • 8a23a614a05589c447f29d1a0f1d77a3cf2b9fa0 🔧 Fix url in plugin manifests Most GitHub URLs in the plugin manifests weren't including tree/main. Now they do
  • 9210f4bd4b9ab2e46f947cb8be5762f323bfb6a4 🗃 Add NOT NULL to required fields To simplify the go code, the most important fields have a NOT NULL statement. Therefore, go code can directly fill the params without sql.NullString
  • 1613b0badd2ca91d5848517be45209bc1109d886 🗃 Create SQL schema for user conf
  • 90e7eaa8f3d7cc4b4dffa3fb4ac111284a8e81ab 🗃️ Create a MySQL compatibility layer for anyquery
  • e74232e13791ee491e080d2d32602ec111cb9383 🙈 Add .DS_store to .gitignore
  • 0b08c6df399fd7d8a2b9c88965ee1bc02a42ea13 🚑 Fix processes leak See mysql_handler:46 for an explanation
  • 88ac9e72731b4b4235dcf7d019695559f3951830 🚑️ Add cache eviction of database update
  • 7a9d629db1c4c067d02b10c8aa5b6fdf0b3288c9 🚑️ Bump go-sqlite3-anyquery to fix SQL joins
  • c1e8c2b5b2b646be21c28e933aab6e245fc580cb 🚑️ Fix filename in notion plugin
  • 851fef10ccceb27900cfa4d57954f6cdfecbddb7 🚑️ Fix issue with read-ony Due to the init script for some MySQL statement, anyquery would attempt to create a view on a read-only database. Now, if the cli detects the DB is read-only, it does not try to create the view
  • 52ffdb1e1f8f654bfedd98ea49a38b10a4123b8a 🚑️ Fix offset issue Offset omit verification was wrong. SQLite assumed plugin were offsetting rows by themselves even if the plugin explicitly said no.
  • 2dde8a45d7d7d9095ab2736ae2f463d3cabcd6d2 🚑️ Fix profile loading with array params
  • a317735f5a9ad39f038f2460303acccc20bf444b 🚑️ Fix various issues in plugin handling
  • bf233380f04dcc3a0db9bec627ddcca80670a62d 🚧 Add new field to database schema struct
  • 9504a704b1783920ce06bddf50b26889621cedf0 🚧 Add the plugin loading to the namespace
  • d428eb91534ea6ce5c49e2f84015475ce2ab9141 🚧 Implement the Create and Open func of the vTab
  • 420e1719040a1fe689fa412f98ed2fcc08f9d292 🚸 Fix a couple of UX issues
  • 5c5179b76b834956e32399c5bddd4e7e83997d93 🚸 Handle noMoreRow for Query plugin method Thanks to a modification in the return value of the plugin's query method, the plugin can now say if it has any more rows to send
  • 3fed444e61e328f57f53fc61e9b8969c706395e1 🚸 Update image URL
  • 14bc68370809176d78dd65083c873f54fe5e140f 🥅 Drop temporary support for .once because it's bugged
  • cf1443537e44c566f74cb6ef3dbf8229c0f7abd0 🥅 Error doesn't return usage anymore If a command fails, it doesn't return the command usage anymore, because most of the time, the error is not caused by the user
  • 3696825b3a7e7becdabe61abdeba7ba775412d79 🧑‍💻 Add better error handling If an error happens while writing the rows to the output, the error is now printed.
  • db4dc845e65c0079f98505cfb7ef627fef93f97c 🧑‍💻 Add columntypebool as alias to int To simplify development, I've added a column type bool that is just an alias to a column type int
  • a4bd61f9a1a1525d7dc89dc34de36c774e5f15e4 🩹 Add missing operator to enum The REGEXP operator was missing
  • 385ab2a447609d837d1b73e235daffbbdc99331e 🩹 Fix issue with error handling of Mysql The server wasn't checking for err at the end of the rows.next() Therefore, if a plugin failed, that wouldn't be caught by the server
  • 44b2b75f0ed30ba98488ba125af9caacca87d838 🩹 Improve ease of plugin writing Now, if a column is a parameter, the plugin doesn't have to send it anymore
anyquery - 0.1.0

Published by julien040 3 months ago

What is Anyquery?

Anyquery is a query engine that allows you to query anything over SQL.
Whether it's a local CSV, a Google Sheet, your Apple notes, or your GitHub stars, you can query it with Anyquery.

It's built on top of SQLite, and you can use alternative languages like PRQL and PQL to query your data.

Get started at anyquery.dev

Changelog

  • 9fcd98bbf03045582d22f4a5a469e6640f6ceee9 🔥 Remove uncessary test output files
  • f8466c895847de5a8551632f12842b8539b7597c All downhill from here
  • 9a604dcee344ce9e37e7c0b3d5f7ebda4b56745a Merge pull request #1 from julien040/imgbot
  • 842eeaca66ae6de436f1deabdbe1c4369e6783c9 [ImgBot] Optimize images
  • fb4a628c98a0c5ba1d4691e9d330832fb70027a1 [ImgBot] Optimize images (#2)
  • 0c05f0adfcd6af01556eb545e7ba0e03c3a9a337 ♻️ Reorganize tooling command and add pass hashing Now, all the little command helper are under the tool command Also, I've added a command mysql-password that allows you to hash a password so that it can be used in the authentication file
  • 09fa7a8157c5b56bdb0a201598faa83bad588cf3 ⚡️ Make MySQL specific query more resilient Query like SHOW TABLES now show tables from plugins Also, namespaces don't block at one connection now anymore so that each MySQL query can have its own SQLite conn
  • 9c05588b9983beca147066772fdca33e45ac7a7a ✅ Add test for go-sqlite3 op code
  • fdec4c1f6ca87a3cb6f25b78b8d7ad6f698e518c ✅ Add tests for the plugin
  • 082ca0576bf7cea268fdf11a5f48b9060d3f5164 ✅ Add tests for the rpc package
  • 94529990783e9343c2d2969b4939f4ae48435d5c ✅ Fix tests logger Added a null logger to tests so that it doesn't sigsegv
  • 0659c619129631cc7f81cbe6ca60fc019bec92c0 ✨ Add ".sql" command
  • 9fb3918982b824d1a955f1cb8f1e0bbc5a813714 ✨ Add Airtable plugin
  • dabaf35e3b7aea171c3c5272173aea56610f0c45 ✨ Add Apple Notes plugin
  • 95418a2fe20ef0b9e249c1eb20e1288e3823d6c0 ✨ Add GitHub plugin
  • e9f26bcfadc139b280f0c93a65d989e0148ee404 ✨ Add Google Forms plugin
  • 3d93a6006838de46c1bc0c8d22f5ba6d405e579e ✨ Add Google Sheets plugin
  • 060e4d43c57097271bb8364f9bfac3d599722bee ✨ Add HN plugin
  • edfe9dcb68ffcf6c5832c5f2f6a1ef79909ed6e6 ✨ Add JSON and CSV tables
  • 68564b5e2322be2ec64cc0f8621f51e6b675650b ✨ Add Notion plugin
  • fcdd4c412e943fa8e1ebb2006f237c54a301f353 ✨ Add ORDER BY constraints to plugin context
  • 0de139ad738d62080260ba3b3972701c292859bf ✨ Add PRQL and PQL alternative languages for querying
  • 1e1ba631d3ac7775e58f9374710ee4166241324d ✨ Add XDG Base Directory Specification handling
  • f72e47c150679080038716945ae6cfd95b8e4404 ✨ Add a plugin to generate random data
  • 0a97c526f51fb1c211306badf05a1a8280130c59 ✨ Add ability to generate markdown docs of commands
  • da420a0e7d88de179288f91b575f7ff22698a2d1 ✨ Add apple reminders plugin
  • bc8c0df97410c439746dbd7ef0682819fa535fb3 ✨ Add calendar plugin
  • d2ecb36e6375c0bf61d3de3da4e252e1f84a0445 ✨ Add chromium based plugin
  • 39593c8d2c0079158f29f8119b98e1390674ad8e ✨ Add cli to manage the registry
  • aaeae761f8f18e6405ebc0ac16be57020c9b8718 ✨ Add config database with SQLite
  • 61f50fe0c961dfb5e84fbd874461e0441a71b497 ✨ Add connectionID to args in plugin
  • cc0e5206efe1f2e990436981fd2562acfb47679a ✨ Add developer mode
  • 1df4efcf6953a5e9089fceb282ae189a553ffd44 ✨ Add file plugin
  • d78c7dab73938c1e82b3f5d2545602995e95a461 ✨ Add git plugin
  • 4e83d118ac443a3f3afd4161a9e47e406f2626ee ✨ Add goreleaser config
  • fdde181226be3db5057108ca4870c0cff8d9ab2e ✨ Add hjson support for dev manifest
  • dc9c60d2cc658b617d2abf3a6ad143f63b53d766 ✨ Add homebrew plugin
  • 3a30624e338572869c7f8a46a4c92fdb2c3bf44c ✨ Add html elem reading for non table element
  • b1e41f47ca594120edf66b2aee2b838a5bf94846 ✨ Add imap plugin
  • 11408c07b6ee90bb01e6e25e528f6b2631b77df3 ✨ Add input description in profile form
  • 3ed5e7580b5d109e9e497b392d4fd29a92d6b7d6 ✨ Add integration pages
  • 121436e52d027e00a5e00aceb45bbf515fa3c331 ✨ Add ip-api.com plugin
  • df4b967a320ec9dee6ea1556a9ae7fdb398a797b ✨ Add middleware to allow dynamic schema
  • 420136226f6b5b1fa9527fe57ca4c977a73a404f ✨ Add new date functions
  • 8179dba559633483de8bb5981845ff5601e490f7 ✨ Add new fields to store manager
  • aace9b68f806993f296c8677e16666060575fa3f ✨ Add plugin PyPI
  • 4c0338a83307be33fc4c7aeff4da8d8415b4aecb ✨ Add pocket plugin
  • 8e5aec72a1e76bf762a7499c4a3f5cb43074449b ✨ Add profile and plugin commands
  • a1d102565afe347c63473cb48541f47131298470 ✨ Add raindrop plugin
  • abb57575e9c59c9ebc02a6763238cdf6c87180c7 ✨ Add read only database to namespace
  • a2e3ac61bf9ae14bf9e2fcf336f3e241eea4d30c ✨ Add read-only opening of the config database
  • 95f3b0439ab9eef69e4619ca48a8ae4cfb050590 ✨ Add registry and plugin download Anyquery is now able to download plugins and store them locally This works by using a registry. It's a simple HTTPS API that anyone can host. To ensure that a registry is compliant, the plugin will validate it against a JSON schema
  • a95769d809ce419d535fec442a6212265d87dd9d ✨ Add rss plugin
  • c8eeb12eb862b49c965aa53dbae137791f6a088a ✨ Add safari plugin
  • 2425c3f135151061dc0f3d675166eab076bd4f4a ✨ Add schema declaration in SQLite
  • 3993837954bf7e23de54703d740ee76f6df02a59 ✨ Add server command
  • 5e55dff1229e1a0bc673d9dd65a330d4d58bd7ef ✨ Add spotify plugin
  • 226b2b241d930052ab141af0edac60c51aa55895 ✨ Add support for Insert/Update/Delete operations on vtable
  • 5fe1f89e771630f9b718d797091f944ea8b88db6 ✨ Add syntax highlighting to landing page code
  • c11399b4487374b8396aae7e014e0e35dac410cb ✨ Add the ability to pass the json path as a second arg Before, to specify a json path, you had to pass the arg jsonpath='$.whatever' Now, you can just write read_json('file', '$.whatever')
  • bff740c2a2ae99a820479383dbe6902c15798737 ✨ Add the anyquery standard library It's a collection of useful functions that can be used in SQL queries
  • 0baec9915d6fb9d287639a8196e8ab9e6d52a649 ✨ Add the query command
  • 181ab8585d1370a2fcfbe96a430b7332e4849c47 ✨ Add typeform plugin
  • 41e3da5034723d79bbcd66adac0f9aeb4796673d ✨ Alias command created
  • b1fe9b846384afd5cabef9cab3c55f2f70b22824 ✨ Allow loading of local extensions in the CLI
  • d2ad074ba1fa509abf95df009cb8a5ed42f2bcd1 ✨ Allow plugins to redirect stderr to an io.Writer
  • d8281c6f8b2512adb3f8831d07dfe2c37cb3dbc8 ✨ Allow transaction with MySQL server Now each MySQL connection has its own SQLite connection so that BEGIN and COMMIT can work Also, some functions (like RunShowStatement) have been modified so that they can be exported and use by other packages
  • 7c56d99210234deb97882f9aec68a0d028a3e1b8 ✨ Built a library to help plugin creation
  • 3c39a264926ac5181e075d645f91c37a5b9fb93a ✨ Create reader for YAML, TOML, JSONL, Parquet and HTML files
  • 978b23f847e9239a44961354394704f656bde157 ✨ Create the registry related command
  • 895c11e1c1fd154dd50886d98a9afda9f07cc5fe ✨ Define commands hashdir and plugins
  • c8acf5bdc28cf56948ea7c9cd786285e7a412c2d ✨ Enable dev plugin in server mode
  • c3144ff694def01c6bca6c95dd461425edb599d5 ✨ Implement BestIndex, Disconnect, EOF, Filter, Next and RowId of Vtab
  • edd7028e0ece9e0b46c0f526e545cb5badc0e7b0 ✨ Implement RPC between the host and plugins
  • fe786cc8ce4810b6048a375b0a2157cba194d491 ✨ Implement column parsing for SQLite
  • 0feeceb92134b95e816da65fa87fab7fecf9cf92 ✨ Improve dev experience The CLI can now generate the plugin boilerplate Func reload_dev_plugin can now run a build command
  • 9300b77374b1c6ddec881041e4832fbcd34a6028 ✨ Introduce namespaces
  • 9b8c3a4cfe6828b9a92900b3fd02f0bb1a820fb1 ✨ Introducing connection pooler
  • 2e8ccb5116c26418f7a7095b073f9a8331d41430 ✨ Let user conf have different types than string Before this commit, configuration of plugins were handling only string. Now, by replacing it with an interface{}, more types can be handled (such as bool)
  • cca3a0896f410a1e5a4f81a93a6707eac587d378 ✨ Remove the requirement for a column parameter Before this commit, if a column was marked as a parameter, not adding it in the WHERE constraints would make the plugin to fail. Now, the same behaviour can be used if the column is marked as required. Therefore, a parameter column can be missing without any trouble.
  • d9dfd0eaa77f5d8c92a155e04e237b55fb2e48f8 ✨ Update GitHub plugin Add table my_issues
  • 8739e9f860f4f321c529e965f568f8b1888d57e7 ➕ Add asg017 SQLite extensions
  • d998114b2e1a4db7a02199f11933efeb466533ea ⬆️ Bump go-sqlite3-anyquery package By bumping this package, it pushes sqlite to version 3.46.0. It therefore solves the issue https://stackoverflow.com/q/78806496/15573415
  • 74b46c7d0fe4450838e2eeba1fb8c16a087a15aa ⬆️ Upgrade go-sqlite3 fork to last version This version handles the omit flag for an OFFSET
  • a3de328aef72b3452f2e6daf1a541b0255b31e82 🎨 Add IF NOT EXISTS to INFORMATION_SCHEMA views
  • e01a128eb5d7da13b20bcfe8ae591ff35d11115a 🎨 Add functions to create flags
  • d11571564e5ae522dd5b7a9497b56beea18e4f71 🎨 Create func signatures for the SQLite VTab
  • 245c931403eebcd5d54e60530a8fd17ccbc79fc9 🎨 Create structure for the CLI
  • 37b15203925e8ca9392921fe4df3edbc97f56b1d 🎨 Split the project in modules
  • bc02d1d8ae07fcae861aff1138f45b9cf98df16c 🏗 Update plugin types Add an operator type to represent an operator in a SQL query Add a flag in the schema to specify the table arguments
  • ce714b6f6cdade12b336a91db291581e93207bbd 🐛 Bump go-sqlite3 for segfault fix
  • 41013d14337ce74f2b975d0d862fd74dc9fb5d8f 🐛 Fix 404 in footer
  • 7d7f75113a218eeac222b479436ee8166cddbdf6 🐛 Fix ASCII Table division by zero When no column is passed to the ASCII table, a division by zero would occur.
  • 5097ae538c36d2750ae48c6f1dd9b41331f733d8 🐛 Fix Imap plugin the plugin wasn't requesting the right user config
  • 4448541c286e02a59c13b3ff0bb7bf04c59299a0 🐛 Fix cache issue The in-memory cache was way too high while the on-disk file was a bit small
  • bda27e2926a4bfbf621ba11f2b40611a2d5e9233 🐛 Fix default mode If no path is specified, the db is opened in memory. But the cobra flags were setting a default path, which means the DB was never opened in memory. The default path is now removed
  • 4299b92451fa64209d7fa57508528d9316e56389 🐛 Fix function signature of Vtab The SQLiteCursor interface uses: - Rowid() (int64, error) - Column(context *sqlite3.SQLiteContext, col int) error But the module had wrong signatures for these two functions. This commit fixes that.
  • a7a08d9e042265d7e0033796670998a341368b65 🐛 Fix issue in dev project initialization - The generated makefile now has a working make clean target - The manifest now includes files
  • b44ccae49bfe256af94a3ecb20681f4bb3ede172 🐛 Fix issue in module dropping In some special cases, Disconnect() is not called on a module but just DestroyModule. I have therefore copied the connection dropping func call to DestroyModule too
  • eead0c25519f25de930a7d3924533b74153f4603 🐛 Fix issue with DataGrip
  • d1e38e33bf5262f901a86e8404b5eaf4cf5d3059 🐛 Fix issue with PQL Created a fork of PQL (https://github.com/julien040/pql-anyquery) to remove coalesce See the README of the repo for more informations
  • 9a4a2c2d28a82a33f214f7941458897896b93641 🐛 Fix issue with alias LoadAsAnyqueryCLI function can't work on non aliased table name It was due to checking the err value of the DB. If err != nil, it means we didn't find any alias so the table name must be left as-is. However, this was interpreted as an error and therefore would result in UB
  • b182120e59c6ed361e8a543923bc002ccb665367 🐛 Fix issue with default output format When stdout isn't a tty, anyquery wasn't defaulting to plain format. It's now fixed
  • 814cc26c36fcee386769cc295c3f7c8471b2e7ae 🐛 Fix issue with developer mode
  • 0c6390e32e053bec865d0f6e1d1922bd5b708e9d 🐛 Fix issues related to multiple connections in MySQL
  • 8c75879d6eaea7b41688c63d0ee1d93bda04d562 🐛 Fix overwrite bug in store manager
  • 7694d09f2366f423ea36d359805eb206e157b0d4 🐛 Fix plugin tutorial command
  • 3ee37b5ccff90022a681c5578dada97f9dc640e9 🐛 Fix store manager issue If a plugin name would contain non alphanumeric name, the store manager would be stuck in an infinite loop. It's now fixed
  • ea05a02d7d9bfc0afa72284f525657bd067b5c6a 🐛 Fix table name in RSS plugin
  • bab323d006b645d4d2c14ca8bee4a3f262c646b8 🐛 Fix tables in Spotify plugin
  • be10bc9a40bc6204a0c4b690199a92625fd06b86 🐛 Fix user config for notion plugin
  • bc58cfbf0644e0e6b011e0211f57137bf7e47cb5 🐛 Prevent collisions with plugin ID naming
  • d540f084c9d23dbaad61690877b75374763dc048 🐛 Prevent data race with hashmap
  • 2ec60013b23e323ddd8c936a56bbbd4fb63ab4db 🐛 Remove *_reader table from SHOW TABLES
  • 9450c5a89ab7391320598fa5a912d9ac01d0c112 🐛 Remove unnecessary print
  • db03ff685b6a79ea5a80f9a2ab277070f37a3028 🐛 Split query execution method query/exec If a ddl statement fails and was run with db.Query, we won't get any error.
  • 271fdedba5cc6dc82f9ee6af31d469182cfec0e1 💄 Add alias to query command
  • b52e98718ff3a0cd4e2d95e23fdf8262d78f5b51 💄 Add icons
  • ebc33437a571c5bd91004597eb2b4c57d7130443 💄 Create a function to output tables
  • a50ec096a5a196271c4374d8fab98f31359cd004 💄 Create skeleton for the website
  • b531dab8f7ca04369406548bd72c86e87f99bb15 💄 Update UI for SQLite extensions
  • 62e380e248b074fa6f6e98e2dd0f6d6a0f5fda62 💬 Update SQL functions aliases
  • 80d6448ddb0b0e40ed5482e5e7a074e0d156fe81 💬 Update image CDN in plugin READMEs
  • 9fef0c0abd5dbe444b0dee84cc64346dd6fb1da6 📄 Add license
  • 1611870d3f4183ac4e1a78e5db6924261aa277ba 📌 Change go-sqlite3 dependency to a custom fork At https://tinyurl.com/28seb4bs line 470, we can see that when we set a constraint as used, it's added to the arg list for xFilter. However, it also sets the omit flag to true. This results in SQLite not checking for the validity of the row. In the fork https://github.com/julien040/go-sqlite3-anyquery/tree/v1.14.22, I set the omit flag to false which leaves the job of filtering to SQLite
  • 1fe8e93844b08febf19eae16db41b58424b57b34 📌 Run go mod tidy
  • 5e375eea12419cefc0b82d70286285101f51d818 📌 Run go mod tidy
  • 8d3f6f83f8fa74c33b815f56e9a56c206ab90831 📝 Add MySQL server documentation
  • 7dfcc23ce33a8d40dc0170903fe707eec14947ad 📝 Add beekeeper connection guide
  • e85a4b89a878dc043fe957fb4f36a92383229c58 📝 Add datagrip connection guide
  • 3a039a2b6e4990761ba216fee913e8b9f33015dc 📝 Add datasette connection guide
  • 177d162f044255a4c22a880a869f1d81d79d4047 📝 Add dbeaver and MySQL Workbench connection guide
  • 3c7b8cddabcbdc52f0ab412e1574786c895f9e81 📝 Add docs part to the website
  • 395d9de42ea66d97fa473119d18c2a435ec3b9d4 📝 Add documentation
  • c5d5a4db91d5bf509e360f8d3d868bff84eb5519 📝 Add documentation for the project and its architecture
  • 6cc7665ced8c8a380628e54e2847c5932eacc5c5 📝 Add documentation for using Anyquery
  • 87b7b6eccb95759283bb5eb3d3136ea709eb2bb9 📝 Add drizzle example
  • 724991e1454e3cf68b6c17da1650f2d9dbf98b1c 📝 Add functions and commands to documentation
  • 7be01d5c386ffb286adf25fc8060c2eed685927d 📝 Add new connection guides
  • 0959bd4521bc125c47b88ac2ba70d442cd4e66f7 📝 Add new recipes
  • cebeb50d22c7443c3bcdc972caade1321c72ed3e 📝 Add tablePlus connection guide
  • 7d6911fea3532cc5a9d976793e592b1e3d5a8076 📝 Add warning for git gc on git plugin
  • 805de60c2d4fbb4aa514f118b45b29514ab6a069 📝 fix URLs in querying-file doc
  • 7325484d4f1e7eb915ccce035516e0120e682bc7 🔊 Add debug logging
  • 57fb16f308aca72ca014d4d08d3d4e834ed0c574 🔊 Add logger to the plugin
  • 929ea7577da129938a035f8e66b7033dc7be004c 🔊 Add simple printing on signal receiving
  • d229a1aa9c6be1e18766ad0c83751c59081d9471 🔒️ Fix checksumming issue
  • 6aafed63fd4f806e7c9bcdfecb16c1f20c2cf5d3 🔥 Remove unnecessary logging
  • e83ee9f142ca8d1de11d32fa339e4c7a9152c301 🔧 Add .vscode conf
  • 8a23a614a05589c447f29d1a0f1d77a3cf2b9fa0 🔧 Fix url in plugin manifests Most GitHub URLs in the plugin manifests weren't including tree/main. Now they do
  • 9210f4bd4b9ab2e46f947cb8be5762f323bfb6a4 🗃 Add NOT NULL to required fields To simplify the go code, the most important fields have a NOT NULL statement. Therefore, go code can directly fill the params without sql.NullString
  • 1613b0badd2ca91d5848517be45209bc1109d886 🗃 Create SQL schema for user conf
  • 90e7eaa8f3d7cc4b4dffa3fb4ac111284a8e81ab 🗃️ Create a MySQL compatibility layer for anyquery
  • e74232e13791ee491e080d2d32602ec111cb9383 🙈 Add .DS_store to .gitignore
  • 0b08c6df399fd7d8a2b9c88965ee1bc02a42ea13 🚑 Fix processes leak See mysql_handler:46 for an explanation
  • 88ac9e72731b4b4235dcf7d019695559f3951830 🚑️ Add cache eviction of database update
  • 7a9d629db1c4c067d02b10c8aa5b6fdf0b3288c9 🚑️ Bump go-sqlite3-anyquery to fix SQL joins
  • c1e8c2b5b2b646be21c28e933aab6e245fc580cb 🚑️ Fix filename in notion plugin
  • 851fef10ccceb27900cfa4d57954f6cdfecbddb7 🚑️ Fix issue with read-ony Due to the init script for some MySQL statement, anyquery would attempt to create a view on a read-only database. Now, if the cli detects the DB is read-only, it does not try to create the view
  • 52ffdb1e1f8f654bfedd98ea49a38b10a4123b8a 🚑️ Fix offset issue Offset omit verification was wrong. SQLite assumed plugin were offsetting rows by themselves even if the plugin explicitly said no.
  • 2dde8a45d7d7d9095ab2736ae2f463d3cabcd6d2 🚑️ Fix profile loading with array params
  • a317735f5a9ad39f038f2460303acccc20bf444b 🚑️ Fix various issues in plugin handling
  • bf233380f04dcc3a0db9bec627ddcca80670a62d 🚧 Add new field to database schema struct
  • 9504a704b1783920ce06bddf50b26889621cedf0 🚧 Add the plugin loading to the namespace
  • d428eb91534ea6ce5c49e2f84015475ce2ab9141 🚧 Implement the Create and Open func of the vTab
  • 420e1719040a1fe689fa412f98ed2fcc08f9d292 🚸 Fix a couple of UX issues
  • 5c5179b76b834956e32399c5bddd4e7e83997d93 🚸 Handle noMoreRow for Query plugin method Thanks to a modification in the return value of the plugin's query method, the plugin can now say if it has any more rows to send
  • 3fed444e61e328f57f53fc61e9b8969c706395e1 🚸 Update image URL
  • 14bc68370809176d78dd65083c873f54fe5e140f 🥅 Drop temporary support for .once because it's bugged
  • cf1443537e44c566f74cb6ef3dbf8229c0f7abd0 🥅 Error doesn't return usage anymore If a command fails, it doesn't return the command usage anymore, because most of the time, the error is not caused by the user
  • 3696825b3a7e7becdabe61abdeba7ba775412d79 🧑‍💻 Add better error handling If an error happens while writing the rows to the output, the error is now printed.
  • db4dc845e65c0079f98505cfb7ef627fef93f97c 🧑‍💻 Add columntypebool as alias to int To simplify development, I've added a column type bool that is just an alias to a column type int
  • a4bd61f9a1a1525d7dc89dc34de36c774e5f15e4 🩹 Add missing operator to enum The REGEXP operator was missing
  • 385ab2a447609d837d1b73e235daffbbdc99331e 🩹 Fix issue with error handling of Mysql The server wasn't checking for err at the end of the rows.next() Therefore, if a plugin failed, that wouldn't be caught by the server
  • 44b2b75f0ed30ba98488ba125af9caacca87d838 🩹 Improve ease of plugin writing Now, if a column is a parameter, the plugin doesn't have to send it anymore