kildrens
a9dfb4f2c1
Avoid privilege requirements by using an advisory lock in test setup (postgres). ( #3753 )
...
* feat(sqlx-postgres): use advisory lock to avoid setup race condition
* fix(sqlx-postgres): numeric hex constants not supported before postgres 16
2025-02-20 18:13:56 -08:00
Sam Lyon
8cdad44366
docs: add some missing backticks ( #3749 )
...
* add ending backticks to starting backticks that were missing them
* fix table alignment
2025-02-19 15:23:45 -08:00
Paolo Barbolini
65229f7ff9
Replace some futures_util APIs with std variants ( #3721 )
2025-02-01 16:01:56 -08:00
James H.
97cada3e16
feat(postgres): add geometry box ( #3711 )
...
* feat: add geometry box
* test: cannot compare box arrays
* test: regular equals check for boxes
* test: try box array test
2025-01-29 14:59:50 -08:00
Nicolas Séverin
6ca52fe80c
Added missing special casing for encoding embedded arrays of custom types ( #3603 )
...
* Added missing special casing for encoding arrays of custom types
* Added the matching test
* Formatting
2025-01-27 17:30:02 -08:00
joeydewaal
6fa0458ff3
fix(Postgres) chunk pg_copy data ( #3703 )
...
* fix(postgres) chunk pg_copy data
* fix: cleanup after review
2025-01-25 14:23:50 -08:00
James H.
74da542bf3
feat: add postres geometry line segment ( #3690 )
...
* feat: add postres geometry line segment
* fix: add doc alias
2025-01-24 22:34:40 -08:00
Rémy SAISSY
ad1d7a8aa5
Derive clone and debug for postgresql arguments ( #3687 )
2025-01-24 14:41:06 -08:00
joeydewaal
a408c490fd
fix(postgres) use signed int for length prefix in PgCopyIn
( #3701 )
2025-01-24 14:30:02 -08:00
Andreas Liljeqvist
a83395a360
Fix: nextest cleanup race condition ( #3334 )
...
* remove unused trait fn `cleanup_test_dbs`
* *wip* solve test cleanup race condition
* check for exactly 63 chars in database name
* move base64 dependency
* change
* Use url_safe base64 encoding
* Assert quoting for database name
* refactor
* add mysql support?
* borrow
* fix borrows
* ensure quoting
* re-add trait cleanup_test_dbs
* fix mysql insert
* cargo lock
* use actual field
* cleanup converted path in sqlite
* replace dashes with underscore in db name
* refactor: remove redundant path conversion in cleanup_test and add db_name method
---------
Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
2025-01-23 17:36:55 -08:00
tison
838a239a2c
docs: add example for postgres enums with type TEXT ( #3655 )
...
* docs: add example for postgres enums with type TEXT
Signed-off-by: tison <wander4096@gmail.com>
* revert GitHub naming
Signed-off-by: tison <wander4096@gmail.com>
* add note
Signed-off-by: tison <wander4096@gmail.com>
---------
Signed-off-by: tison <wander4096@gmail.com>
2025-01-15 08:41:57 -08:00
joeydewaal
dfd0ac5974
feat: add Transaction type aliases ( #3658 )
2025-01-03 00:26:09 -08:00
Rinat Shigapov
4590b9c3ee
close listener connection on TimedOut and BrokenPipe errors ( #3648 )
...
* close listener connection on TimedOut and BrokerPipe errors
* use matches macro to generate jump table instead of chain of conditions
2024-12-24 17:00:40 -08:00
Jakub Łabor
fdd4663318
Add PgConnection::is_explain_available
2024-12-24 01:53:37 -08:00
Jakub Labor
20bccf8877
Dont use EXPLAIN
in nullability check for QuestDB
2024-12-24 01:53:37 -08:00
James H.
1678b19a46
feat: add geometry line ( #3623 )
...
* feat: add geometry line
* fix: point vs line
* fix: try regular comparison for line
* fix: undo point comparison change
* fix: regular comparison for array lines
* fix: remove line array test
2024-12-12 12:52:30 -08:00
joeydewaal
1f6ce33df4
chore: remove BoxFuture's (non-breaking) ( #3629 )
...
* chore: reduce BoxFuture's when using recursion.
* remove BoxFuture's in WithSocket
* chore: better document previous changes
2024-12-12 12:43:22 -08:00
Philip Cristiano
42ce24dab8
Add support for Postgres lquery arrays ( #3553 )
...
An lquery array can be used with the `?` operator for "Does ltree match
any lquery in array?"
Documentation: https://www.postgresql.org/docs/current/ltree.html#LTREE-OPS-FUNCS
Closes #2246
2024-11-27 19:00:13 -08:00
Gabriel Lopes Veiga
3e140ba384
Derive Copy where possible ( #3577 )
...
For database-specific types.
2024-11-27 14:49:08 -08:00
Chris Hanks
4f10962743
Add PgListener::next_buffered(), to support batch processing of notifications ( #3560 )
...
* Implement and test PgListener::try_recv_buffered().
* rustfmt
* Fix warnings.
* Fix test.
* Rename try_recv_buffered() -> next_buffered().
2024-11-27 13:56:01 -08:00
Sean Lynch
503a72c94f
Eagerly reconnect in PgListener::try_recv ( #3585 )
...
When PgListener's underlying connection is closed, try_recv() will
return Ok(None) and reconnect on the next call. In this case, user code
is supposed to reload its state from the database (or otherwise handle
potentially missing messages). However, if the user code uses another
database connection to do so then there is a period between when the
state is reloaded and PgListener's connection is re-established where
notifications are lost without any indication that this has happened.
This commit changes PgListener to eagerly reconnect by default. At the
suggestion of @abonander on discord, I have also included an option to
switch back to the old behaviour in the case where someone was depending
on it.
Now, if the connection is closed then, by default, user code can do
whatever it needs to do in order to recover and any notifications
emitted in the meantime will be waiting for it when it is done.
2024-11-27 13:52:23 -08:00
Benoit Ranque
e3ef8baf23
URL decode database name when parsing connection url ( #3593 )
2024-11-27 13:48:34 -08:00
James H.
a7f2928a1b
feat(postgres): point ( #3583 )
...
* feat: point
* test: try if eq operator works for arrays of geometries
* fix: re-introduce comparison
* fix: test other geometry comparison
* test: geometry array equality check
* test: array match for geo arrays geo match for geo only
* fix: prepare geometric array type
* fix: update array comparison
* fix: try another method of geometric array comparison
* fix: one more geometry match tests
* fix: correct query syntax
* test: geometry test further
2024-11-27 13:35:42 -08:00
Paolo Barbolini
3e8952b0d4
Bump thiserror to v2.0.0 ( #3596 )
2024-11-26 11:01:33 -08:00
Jakub Łabor
80314609ac
Use UNION ALL
instead of UNION
in nullable check ( #3605 )
2024-11-26 10:59:47 -08:00
Pmarquez
d4ae6ffd88
Implement AnyQueryResult for Sqlite and MySQL ( #3608 )
...
* impl AnyQueryResult for Sqlite and MySQL
* fix MySQL AnyQueryResult
* fix MySQL AnyQueryResult
* fix manifest
* rewrite `use` and address implementation concerns
2024-11-26 10:59:20 -08:00
Quentin Gliech
709226c19d
Implement Acquire for PgListener ( #3550 )
...
* Implement Acquire for PgListener
* Add a test which checks that PgListener implements Acquire
* Drop unnecessary call to `.acquire()`
* Rename test channel to avoid conflict with other tests
2024-10-28 15:00:06 -07:00
Oleksandr Babak
eac4b7aff7
Fix: Cannot query Postgres INTERVAL[]
( #3566 )
...
* fix(sqlx-postgres): macro could not understand pg interval array type
* refactor(sqlx-postgres): move pg interval array types closer to other array types
2024-10-28 14:59:41 -07:00
Dennis Schubert
028084bce3
Demote .pgpass
file warning to a debug message. ( #3548 )
...
Fixes #3531
2024-10-06 15:21:56 -07:00
Andrei Nesterov
19f40d87a6
Obey no-transaction flag in down migrations ( #3528 )
2024-10-02 15:32:30 -07:00
joeydewaal
72512f7311
Support PgHstore by default in macros ( #3514 )
...
* Support PgHstore in macros
* Change tests
* Remove unused import
2024-10-02 11:56:13 -07:00
joeydewaal
68da5aefea
Box Pgconnection fields ( #3529 )
...
* Update PgConnection code
* rustfmt
2024-10-02 11:42:54 -07:00
vsuryamurthy
293c55ce89
Remove unused dependencies from sqlx-core, sqlx-cli and sqlx-postgres
2024-09-24 18:46:31 -07:00
Kurt Wolf
c597a225c5
feat: expose relation_id and relation_attribution_no on PgColumn ( #3492 )
...
* expose relation_id and relation_attribution_no on PgColumn
* Update sqlx-postgres/src/message/row_description.rs
Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
* Update sqlx-postgres/src/column.rs
Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
* Update sqlx-postgres/src/message/row_description.rs
Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
* Update sqlx-postgres/src/column.rs
Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
* Update sqlx-postgres/src/message/row_description.rs
Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
* fix
---------
Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
2024-09-07 18:43:03 -07:00
Pierre Wehbe
fd80f998ac
fix: Use rfc3339 to decode date from text ( #3411 )
2024-09-02 12:34:51 -07:00
Austin Bonander
e10789d9d7
fix cancellation issues with PgListener
, PgStream::recv()
( #3467 )
...
* fix(postgres): make `PgStream::recv_unchecked()` cancel-safe
* fix(postgres): make `PgListener` close the connection on-error
* fix: incorrect math in `BufferedSocket::read_buffered()`
2024-08-27 10:54:31 -07:00
Austin Bonander
20ba796b0d
fix(postgres): max number of binds is 65535, not 32767 (regression)
2024-08-26 16:20:45 -07:00
kdesjard
371cf4a0cc
Pgsql cube type compile fail ( #3459 )
...
* fails to compile as size_of is not found in scope
* keep scoping consistent with other type modules
* fmt fixes
---------
Co-authored-by: kdesjard <kristian.desjardins@nrcan-rncan.gc.ca>
2024-08-26 14:15:48 -07:00
Austin Bonander
9e3ece49d7
fix(postgres): use checked decrement on pending_ready_for_query_count
2024-08-23 23:39:32 -07:00
Austin Bonander
b5c218eb23
fix(postgres): fix missing inversion on PgNumeric::is_valid_digit()
2024-08-23 23:39:32 -07:00
Austin Bonander
01428ff643
fix(postgres): syntax error in EXPLAIN query
2024-08-23 23:39:32 -07:00
Austin Bonander
8919e34357
fix(postgres): syntax error in nullables query
2024-08-23 23:39:32 -07:00
Austin Bonander
56d0225378
chore(postgres): include nullables query in error
2024-08-23 23:39:32 -07:00
Austin Bonander
4fb2dcbe97
fix(postgres): decode PgDatabaseError
for ErrorResponse
2024-08-23 23:39:32 -07:00
Austin Bonander
77982cb407
fix(postgres): dead code StatementId::UNNAMED
2024-08-23 23:39:32 -07:00
Austin Bonander
2ab7565bd8
chore: configure clippy cast lints at workspace level
2024-08-23 23:39:32 -07:00
Austin Bonander
53766e4659
refactor(postgres): make better use of traits to improve protocol handling
2024-08-23 23:39:32 -07:00
Austin Bonander
01186a062a
fix: audit sqlx_postgres::types::array
for bad casts
2024-08-23 23:39:32 -07:00
Austin Bonander
bf13a7706b
fix: audit sqlx_postgres::types::hstore
for bad casts
2024-08-23 23:39:32 -07:00
Austin Bonander
2a9b85889e
fix: audit sqlx_postgres::type::int
for bad casts
2024-08-23 23:39:32 -07:00