{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":681778493,"defaultBranch":"master","name":"typeorm","ownerLogin":"n8n-io","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2023-08-22T18:31:03.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/45487711?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717055935.0","currentOid":""},"activityList":{"items":[{"before":"a67feffdac35701c4612cd690cecad2c28734a7d","after":"cfbec5ffd04c0428059f16bf593ad2a9f8beaacb","ref":"refs/heads/master","pushedAt":"2024-05-30T07:58:45.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"},"commit":{"message":"0.3.20-10","shortMessageHtmlLink":"0.3.20-10"}},{"before":"5d9aad297e2a01637c1d109c58bc13a9b5aca4cc","after":null,"ref":"refs/heads/fix-postgres-schema","pushedAt":"2024-05-30T07:54:49.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"}},{"before":"dca25c25ee9ff4ab1a378d619a78babb9ff880f8","after":"a67feffdac35701c4612cd690cecad2c28734a7d","ref":"refs/heads/master","pushedAt":"2024-05-30T07:54:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"},"commit":{"message":"postgres: Set search_path to the desired schema on every connection (#13)\n\nThis change ensures that on every connection open we set the correct\r\nsearch_path on the session, so make sure that when connection pooling is\r\nenabled, all connections use the same default schema.","shortMessageHtmlLink":"postgres: Set search_path to the desired schema on every connection (#13"}},{"before":"4a6117132593f57a694154802802ca0e02ca078b","after":"5d9aad297e2a01637c1d109c58bc13a9b5aca4cc","ref":"refs/heads/fix-postgres-schema","pushedAt":"2024-05-29T15:50:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"},"commit":{"message":"use promises and async/await","shortMessageHtmlLink":"use promises and async/await"}},{"before":null,"after":"4a6117132593f57a694154802802ca0e02ca078b","ref":"refs/heads/fix-postgres-schema","pushedAt":"2024-05-29T15:41:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"},"commit":{"message":"Set search_path to the desired schema on every connection","shortMessageHtmlLink":"Set search_path to the desired schema on every connection"}},{"before":"8225ac0ac3a7cd4abf81af6620cdfcef7c4b71f7","after":"dca25c25ee9ff4ab1a378d619a78babb9ff880f8","ref":"refs/heads/master","pushedAt":"2024-04-24T12:26:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"},"commit":{"message":"0.3.20-9","shortMessageHtmlLink":"0.3.20-9"}},{"before":"c1b2afacc728d3d51054ff5f7705d8dadfbbc1aa","after":null,"ref":"refs/heads/feat-separate-sqlite-read-write-connection","pushedAt":"2024-04-24T12:22:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"}},{"before":"30b887f6ffe96f468f19fee71517c0c1ca44493a","after":"8225ac0ac3a7cd4abf81af6620cdfcef7c4b71f7","ref":"refs/heads/master","pushedAt":"2024-04-24T12:22:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"},"commit":{"message":"feat: Implement sqlite driver that uses single write connection and a pool of read connections (#12)\n\n### Description of change\r\n\r\nWe have already implemented pooling for the SQLite driver. That uses a\r\nsingle connection pool where connections are acquired from. Because\r\nSQLite only allows a single writer to the DB at a time, other connection\r\nwill get DB locked error if they try to write at the same time. To\r\novercome this we have implemented retrying, which try again until the\r\noperation succeeds (or times out). This is however suboptimal use of\r\nresources.\r\n\r\nA better model for this is to use a single write connection and a pool\r\nof read connections and use the correct connection based on which is\r\nneeded. This is what this PR implements.\r\n\r\nThis basically decouples the lifecycle of a DB connection from the\r\nlifecycle of a QueryRunner. QueryRunner's public interface basically has\r\n2 ways which typeorm uses to interact with it\r\n- Transaction methods: startTransaction, commitTransaction &\r\nrollbackTransaction\r\n- Query method: query\r\n\r\nWhen queries are executed outside of a transaction, the query method is\r\ncalled directly. In this case we 1) acquire either a read or write\r\nconnection 2) run the query and 3) release the connection back to the\r\npool. When a transaction is started, we 1) acquire a write connection 2)\r\nrun any queries using that connection 3) commit/rollback using that\r\nconnection and 4) release the write connection back to the pool.\r\n\r\nThe write connection uses a mutex from async-mutex to control access to\r\nthe write connection. This makes the resource model much more efficient,\r\nas we don't need poll the DB if we are ready to write there again. This\r\nseems to work very nicely.\r\n\r\nWith this change, I don't see any obstacles why a different SQLite\r\nlibrary wouldn't work as well. The polling model\r\n\r\n**Executing a query outside of a transaction**\r\n\r\n\r\n![image](https://github.com/n8n-io/typeorm/assets/10324676/bc42c42e-a3ac-4372-bbff-b281a1131214)\r\n\r\n\r\n**Running a transaction**\r\n\r\n\r\n![image](https://github.com/n8n-io/typeorm/assets/10324676/991f8499-dbcd-439b-aac4-c1a682037609)\r\n\r\n### Performance\r\n\r\nI ran some simple benchmarks with the n8n application. Workflow\r\nexecution using webhooks gives a slightly higher throughput (1070 reqs\r\nvs 1105 reqs) (calling a webhook a WF that has few nodes). A combination\r\nof writes and reads however gives much higher performance (5477 reqs vs\r\n6710 reqs) (repeat 9 requests of WF execution with webook, 1 GET request\r\nto get 10 executions of that WF).","shortMessageHtmlLink":"feat: Implement sqlite driver that uses single write connection and a…"}},{"before":"a47911cab808404d096b461e70dcf1791888d473","after":"c1b2afacc728d3d51054ff5f7705d8dadfbbc1aa","ref":"refs/heads/feat-separate-sqlite-read-write-connection","pushedAt":"2024-04-24T11:57:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tomi","name":"Tomi Turtiainen","path":"/tomi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10324676?s=80&v=4"},"commit":{"message":"fix: Use given timeout when closing the write connection","shortMessageHtmlLink":"fix: Use given timeout when closing the write connection"}},{"before":"53d771baf7f43bd27106fb3d35640947c3417a77","after":"a47911cab808404d096b461e70dcf1791888d473","ref":"refs/heads/feat-separate-sqlite-read-write-connection","pushedAt":"2024-04-24T11:53:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tomi","name":"Tomi Turtiainen","path":"/tomi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10324676?s=80&v=4"},"commit":{"message":"feat: Make acquire and destroy timeouts configurable","shortMessageHtmlLink":"feat: Make acquire and destroy timeouts configurable"}},{"before":"584102d126c6eddcdf902cab9447556f41180ea6","after":"53d771baf7f43bd27106fb3d35640947c3417a77","ref":"refs/heads/feat-separate-sqlite-read-write-connection","pushedAt":"2024-04-24T11:09:00.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"tomi","name":"Tomi Turtiainen","path":"/tomi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10324676?s=80&v=4"},"commit":{"message":"test: Fix base-entity test teardown","shortMessageHtmlLink":"test: Fix base-entity test teardown"}},{"before":"fed453ee6d690d5d767736a77d7514e540d0f2cf","after":"584102d126c6eddcdf902cab9447556f41180ea6","ref":"refs/heads/feat-separate-sqlite-read-write-connection","pushedAt":"2024-04-23T06:55:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tomi","name":"Tomi Turtiainen","path":"/tomi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10324676?s=80&v=4"},"commit":{"message":"feat: Implement sqlite driver that uses single write connection and a pool of read connections\n\nWe have already implemented pooling for the SQLite driver. That uses a single connection\npool where connections are acquired from. Because SQLite only allows a single writer\nto the DB at a time, other connection will get DB locked error if they try to\nwrite at the same time. To overcome this we have implemented retrying, which try\nagain until the operation succeeds (or times out). This is however suboptimal\nuse of resources.\n\nA better model for this is to use a single write connection and a pool of read\nconnections and use the correct connection based on which is needed. This is\nwhat this PR implements.\n\nThis basically decouples the lifecycle of a DB connection from the lifecycle\nof a QueryRunner. QueryRunner's public interface basically has 2 ways which\ntypeorm uses to interact with it\n- Transaction methods: startTransaction, commitTransaction & rollbackTransaction\n- Query method: query\n\nWhen queries are executed outside of a transaction, the query method is called\ndirectly. In this case we 1) acquire either a read or write connection 2) run\nthe query and 3) release the connection back to the pool. When a transaction\nis started, we 1) acquire a write connection 2) run any queries using that\nconnection 3) commit/rollback using that connection and 4) release the\nwrite connection back to the pool.\n\nThe write connection uses a mutex from async-mutex to control access to the\nwrite connection. This makes the resource model much more efficient, as\nwe don't need poll the DB if we are ready to write there again. This seems\nto work very nicely.\n\nWith this change, I don't see any obstacles why a different SQLite library\nwouldn't work as well. The polling model","shortMessageHtmlLink":"feat: Implement sqlite driver that uses single write connection and a…"}},{"before":"9baf787b28870b4a8f7b92898140c5423bdab0d6","after":"fed453ee6d690d5d767736a77d7514e540d0f2cf","ref":"refs/heads/feat-separate-sqlite-read-write-connection","pushedAt":"2024-04-22T15:36:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tomi","name":"Tomi Turtiainen","path":"/tomi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10324676?s=80&v=4"},"commit":{"message":"feat: Implement sqlite driver that uses single write connection and a pool of read connections\n\nWe have already implemented pooling for the SQLite driver. That uses a single connection\npool where connections are acquired from. Because SQLite only allows a single writer\nto the DB at a time, other connection will get DB locked error if they try to\nwrite at the same time. To overcome this we have implemented retrying, which try\nagain until the operation succeeds (or times out). This is however suboptimal\nuse of resources.\n\nA better model for this is to use a single write connection and a pool of read\nconnections and use the correct connection based on which is needed. This is\nwhat this PR implements.\n\nThis basically decouples the lifecycle of a DB connection from the lifecycle\nof a QueryRunner. QueryRunner's public interface basically has 2 ways which\ntypeorm uses to interact with it\n- Transaction methods: startTransaction, commitTransaction & rollbackTransaction\n- Query method: query\n\nWhen queries are executed outside of a transaction, the query method is called\ndirectly. In this case we 1) acquire either a read or write connection 2) run\nthe query and 3) release the connection back to the pool. When a transaction\nis started, we 1) acquire a write connection 2) run any queries using that\nconnection 3) commit/rollback using that connection and 4) release the\nwrite connection back to the pool.\n\nThe write connection uses a mutex from async-mutex to control access to the\nwrite connection. This makes the resource model much more efficient, as\nwe don't need poll the DB if we are ready to write there again. This seems\nto work very nicely.\n\nWith this change, I don't see any obstacles why a different SQLite library\nwouldn't work as well. The polling model","shortMessageHtmlLink":"feat: Implement sqlite driver that uses single write connection and a…"}},{"before":null,"after":"9baf787b28870b4a8f7b92898140c5423bdab0d6","ref":"refs/heads/feat-separate-sqlite-read-write-connection","pushedAt":"2024-04-22T15:21:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tomi","name":"Tomi Turtiainen","path":"/tomi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10324676?s=80&v=4"},"commit":{"message":"feat: Implement sqlite driver that uses single write connection and a pool of read connections\n\nWe have already implemented pooling for the SQLite driver. That uses a single connection\npool where connections are acquired from. Because SQLite only allows a single writer\nto the DB at a time, other connection will get DB locked error if they try to\nwrite at the same time. To overcome this we have implemented retrying, which try\nagain until the operation succeeds (or times out). This is however suboptimal\nuse of resources.\n\nA better model for this is to use a single write connection and a pool of read\nconnections and use the correct connection based on which is needed. This is\nwhat this PR implements.\n\nThis basically decouples the lifecycle of a DB connection from the lifecycle\nof a QueryRunner. QueryRunner's public interface basically has 2 ways which\ntypeorm uses to interact with it\n- Transaction methods: startTransaction, commitTransaction & rollbackTransaction\n- Query method: query\n\nWhen queries are executed outside of a transaction, the query method is called\ndirectly. In this case we 1) acquire either a read or write connection 2) run\nthe query and 3) release the connection back to the pool. When a transaction\nis started, we 1) acquire a write connection 2) run any queries using that\nconnection 3) commit/rollback using that connection and 4) release the\nwrite connection back to the pool.\n\nThe write connection uses a mutex from async-mutex to control access to the\nwrite connection. This makes the resource model much more efficient, as\nwe don't need poll the DB if we are ready to write there again. This seems\nto work very nicely.\n\nWith this change, I don't see any obstacles why a different SQLite library\nwouldn't work as well. The polling model","shortMessageHtmlLink":"feat: Implement sqlite driver that uses single write connection and a…"}},{"before":"eaf6f6ad173943b15f88fe1e2a851f4c9afa93d4","after":"30b887f6ffe96f468f19fee71517c0c1ca44493a","ref":"refs/heads/master","pushedAt":"2024-04-18T12:47:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"},"commit":{"message":"0.3.20-8","shortMessageHtmlLink":"0.3.20-8"}},{"before":"44fd476e8cf2abce4c1defdf480e9df0d8349365","after":null,"ref":"refs/heads/fix-use-begin-immediate-with-sqlite-pooling","pushedAt":"2024-04-18T12:47:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"}},{"before":"9006e120c604bd54aeee17378f9265e4a2ea7208","after":"eaf6f6ad173943b15f88fe1e2a851f4c9afa93d4","ref":"refs/heads/master","pushedAt":"2024-04-18T12:47:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"},"commit":{"message":"fix: Use BEGIN IMMEDIATE with pooled sqlite driver (#11)\n\n### Description of change\r\n\r\nUse `BEGIN IMMEDIATE` when opening transaction with pooled sqlite\r\ndriver. If we don't lock the DB immediately, it's possible to suffer\r\nfrom DB locked errors in the middle of a transaction, which could\r\nrequire retrying the entire transaction. It's better to handle these in\r\nthe beginning of a trx and do the retry there.","shortMessageHtmlLink":"fix: Use BEGIN IMMEDIATE with pooled sqlite driver (#11)"}},{"before":"06b172b546dedf1127749c108c55b12d5d89186d","after":"44fd476e8cf2abce4c1defdf480e9df0d8349365","ref":"refs/heads/fix-use-begin-immediate-with-sqlite-pooling","pushedAt":"2024-04-18T12:46:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"},"commit":{"message":"remove console.log from the test","shortMessageHtmlLink":"remove console.log from the test"}},{"before":"a7177d3d72b3d519431c55dbec5d3146bb79d21c","after":"06b172b546dedf1127749c108c55b12d5d89186d","ref":"refs/heads/fix-use-begin-immediate-with-sqlite-pooling","pushedAt":"2024-04-18T12:38:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tomi","name":"Tomi Turtiainen","path":"/tomi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10324676?s=80&v=4"},"commit":{"message":"test: Add test to make sure sqlite-pooled is using BEGIN IMMEDIATE","shortMessageHtmlLink":"test: Add test to make sure sqlite-pooled is using BEGIN IMMEDIATE"}},{"before":null,"after":"a7177d3d72b3d519431c55dbec5d3146bb79d21c","ref":"refs/heads/fix-use-begin-immediate-with-sqlite-pooling","pushedAt":"2024-04-18T11:47:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tomi","name":"Tomi Turtiainen","path":"/tomi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10324676?s=80&v=4"},"commit":{"message":"fix: Use BEGIN IMMEDIATE with pooled sqlite driver","shortMessageHtmlLink":"fix: Use BEGIN IMMEDIATE with pooled sqlite driver"}},{"before":"bf91a02e42f1f8ce3a4f21a251437a0067210eba","after":"9006e120c604bd54aeee17378f9265e4a2ea7208","ref":"refs/heads/master","pushedAt":"2024-03-14T12:12:06.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"},"commit":{"message":"0.3.20-7","shortMessageHtmlLink":"0.3.20-7"}},{"before":"f76d4220356f8262d864f1a4302c96020e6c2b0a","after":null,"ref":"refs/heads/upgrade-p-retry","pushedAt":"2024-03-14T11:11:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"}},{"before":"86cd6273f0c1ccf94b5e317af6dc52d16792582e","after":"bf91a02e42f1f8ce3a4f21a251437a0067210eba","ref":"refs/heads/master","pushedAt":"2024-03-14T11:11:29.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"},"commit":{"message":"0.3.20-5","shortMessageHtmlLink":"0.3.20-5"}},{"before":"623c0616e6cff68575d0832ae13527c17055c76c","after":"f76d4220356f8262d864f1a4302c96020e6c2b0a","ref":"refs/heads/upgrade-p-retry","pushedAt":"2024-03-14T11:10:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"},"commit":{"message":"Use `shouldRetry` option by upgrading `p-retry`","shortMessageHtmlLink":"Use shouldRetry option by upgrading p-retry"}},{"before":null,"after":"623c0616e6cff68575d0832ae13527c17055c76c","ref":"refs/heads/upgrade-p-retry","pushedAt":"2024-03-14T10:55:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"},"commit":{"message":"Use `shouldRetry` option by upgrading `p-retry`","shortMessageHtmlLink":"Use shouldRetry option by upgrading p-retry"}},{"before":"62da548d7a6f6aa1360cb6bac3c69f1586fee2b8","after":"86cd6273f0c1ccf94b5e317af6dc52d16792582e","ref":"refs/heads/master","pushedAt":"2024-03-11T16:55:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"},"commit":{"message":"0.3.20-4","shortMessageHtmlLink":"0.3.20-4"}},{"before":"c1f26f331a182cd02f22c7167ac00432c655cccd","after":null,"ref":"refs/heads/add-pooled-sqlite-option-squashed","pushedAt":"2024-03-11T16:53:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"}},{"before":"60dba8daded61c06191e435cae5ebc06dc5862ad","after":null,"ref":"refs/heads/sqlite-pooled","pushedAt":"2024-03-11T16:53:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"}},{"before":"d9465282294d6c0e5790f5d6f2999114475426c6","after":null,"ref":"refs/heads/add-pooled-sqlite-option","pushedAt":"2024-03-11T16:52:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"}},{"before":"f5c729a37e9dedebdb2c9aea8d1bc0e0f9f2978e","after":"62da548d7a6f6aa1360cb6bac3c69f1586fee2b8","ref":"refs/heads/master","pushedAt":"2024-03-11T16:52:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"netroy","name":"कारतोफ्फेलस्क्रिप्ट™","path":"/netroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/196144?s=80&v=4"},"commit":{"message":"feat: Add a connection-pooling driver for SQLite (#9)\n\nAdd a connection pool to SQLite driver. \r\nThis makes the SQLite driver behave the same as other RDBMs drivers, like postgres and mysql.\r\n\r\nUses tarn as the pool implementation.\r\n\r\n---------\r\n\r\nCo-authored-by: कारतोफ्फेलस्क्रिप्ट™ ","shortMessageHtmlLink":"feat: Add a connection-pooling driver for SQLite (#9)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEV78dqgA","startCursor":null,"endCursor":null}},"title":"Activity · n8n-io/typeorm"}