Files
boc/aamos-ledger-rust/target/release/deps/libsqlx-2e6a08c260463816.rlib
T

487 lines
177 KiB
Plaintext
Raw Normal View History

!<arch>
/ 0 0 0 0 98 `
¸¸_ZN4sqlx3any23install_default_drivers17hc5be3b592d2dd3bcEDW.ref.rust_eh_personality// 58 `
sqlx-2e6a08c260463816.sqlx.1f9e325aa943b10b-cgu.0.rcgu.o/
lib.rmeta/ 0 0 0 644 137056 `
ELF·à@@GNUÀrust
E#rustc 1.96.0 (ac68faa20 2026-05-25)ÁÀ뉊]!ÜÛê(¹Þ—šên-5be7b69c3ff7b5b8ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁ¤²XctÔ'ÐÓ©z¨ɽÓ-a4945860e1c53b00Á¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁòÖÀH•‘PIÓHã#£-055f30b747f859b6Árustc_std_workspace_coreÁ­Cçß^ò½èÝ$­Çÿ+Cé-c4878ee60b2242c9ÁŸÃï+Ñ]ŠqB<ÏïW#-8dd1dd90e70d0b6aÁ miniz_oxideÁ€š»J(P>àö÷g\K-1eb618da2918ab7fÁadler2ÁÆ;+Þ®5¥Ìýݰ¦ÛLˆ-f7919172d268e069Á hashbrownÁPäV9ÒÆèÜ"ÊÖVŽ\-0fc2184a5da6723aÁrustc_std_workspace_allocÁs&ØòØy¯s•bæ!‰ýŠ-97e4bf30be240674Á
std_detectÁhŠBîÙºÌI®ËÅš-9dbbf8346ba7ac8bÁrustc_demangleÁûë9´Ç×@Œ’ùXFº-f33013f239bf9f14Ácfg_ifÁÜLhž§Œaã¯>­-0a71c8f33a838301Á addr2lineÁ׎Þ!]8V$É@@-e618e6be60e87ba2ÁgimliÁ¸
°µ~Î1‹Ñt ðÁ€w-1f7768a68858f670ÁobjectÁ
áPÃ?­À¶¼QHJ¥-914cd6a4dbe590d1ÁmemchrÁ›º«8Ór­2Ù $¨ûib-cf21ca6f2bb15dcdÁë
‹ás«LÖ€îâƒ×ɯŒ-ee6f3747e38367f0Á sqlx_macrosÁÍýµð
Dù+uA2¼î°D-6ee9268eb5d2ac74Á sqlx_coreÁ½ä¤$áòD’ŸX4˜-8f88ba2b56cc6590Á futures_coreÁÔ #0€ŒlÏ/œ%áàæ!-54e00c79609f6de3Á futures_utilÁ‰9;ÆÐÌŸZ•ÕRTíF¬-1ea54d2480c2aaddÁ futures_taskÁ+ÓÅfÐ4Pú{-¸*1¨-dcd8a3e2825c89abÁ futures_sinkÁO÷fD™!®éG'“¢-bd20c0c2067748b7Ápin_project_liteÁc:ž“èqPÔ² låî-fa08336265b0d278ÁslabÁw
@Øò¾Ýqš™›ðzkT—-68178821db79bee8Á
futures_ioÁµ] óŽe_a€FµwBM-52cc55b2510d5c5fÁì46¯¦ŒïõÅ’Z/¯-a454f505f30bc1f2Áevent_listenerÁ#V“¤¬~ÚͲQú`·-26f939a03867479bÁparkingÁ
ÄyÑ`1íëi-ef4547c08a3680a7ÁeitherÁiËgÖ÷< d¯ÛÎÿ-19d064815a8d8d65ÁserdeÁgôðQ_µÒ+nšXœ5,\-adfb72fccb405e33Á serde_deriveÁK6ŽŠSöMv×8£<¯-c3e144455e8966deÁ
serde_coreÁйGá–…ìz=rdq„-32e929951ee3d08aÁcrossbeam_queueÁîæLž×ªƒq­ìâ-224f01e201c18748Ácrossbeam_utilsÁ:¯¶äáPÈŠÆ °¯ØxÖ-55d5552e13fd23eeÁtracingÁ›t*j[6gôˆ×™¡å©-1143666b7efa7da6Á tracing_coreÁƒZ¦øsÞÝŸädY4`-f43ff70b0c5d0314Á once_cellÁ¢ºWšä\S~ò5Î0¤¹-012a7aaa45f49f1fÁtracing_attributesÁ©åûFÔ0"õØcΫ±Î-0dabcc58bbccf33aÁlogÁ9:¢¡Áªú:¦#%%%-5bc5b815000aa8c8ÁurlÁÍÍ@ñÔÇÛa¾äQ{€Á
s-70ac9e426578372aÁform_urlencodedÁ™Ù¦)ž-´Ï«Bó¹«i8-b21a6453ec4c6027Ápercent_encodingÁÙSõU<Zj€ËfYê±-608213e915e95613ÁidnaÁZí€ÉXã:eŸz’‡æ‹Áž-c30cbe50973d8a8cÁ idna_adapterÁlô,}‹®/þXÅ·e"‰¨-f5e53dd5ce741f71Áicu_normalizerÁ—„Q錕¾Þq„éá-bc82276f195ca573Á icu_providerÁfý ecVoÒ–×%aƲ-26ba06420635a5f4ÁzerotrieÁÖjxÄ’Rðo„u˜¤îm-8213996ed0004d51Á
displaydocÁ¯Ü-{6È€Ûù˜ˆÈ
|-e6cd9a7bbe869315ÁzerofromÁÚwóÌ77¬R„Jzðè-b5e12a50bee7a139Ázerofrom_deriveÁ#/\(Ûåè
•Ø‹
Ì÷-b0a52e57dcf964fcÁyokeÁC6€2N‹¢ ˜ox4å-693d60a54f4f9cdeÁstable_deref_traitÁÃ2¯c!#wõáÖZÛd¿-1053a3f8bccf45f4Á yoke_deriveÁÓ‚. I©]F@šÔ¶€~-2347d6299a9342ddÁzerovecÁj†o!AÒwþý"»c Z[-a26db0a583c313b8Ázerovec_deriveÁšÚ¾#Àµlþk¸Úéìí¨-e1300b4489bd91f1Á writeableÁŠÚZVd^GmÕĉé2ÏÌ`-eeb981e21830c22aÁicu_locale_coreÁóÍ>­‹ñ§  «©,Û
-f42a734f84d1ee3dÁlitemapÁ^¿V4êg"ˬçˆÅ2Qi&-4f065ea63c011d48ÁtinystrÁ¸˜›s-ªsV¯™j-c7a86e007016634eÁicu_collectionsÁ’!]úâ?ëòPÞQà™N-b882f5a5cafdd8d3Á
potential_utfÁP°g®œH rUæ™-b10cb335d8d170deÁ utf8_iterÁK——Ø]áR.ý#k-ed71523c288ce9d1Áicu_normalizer_dataÁð¯O´¥lȃb­_ls^u-2cc53e133ce07707ÁsmallvecÁhoÖ|Bâñ޲b9ñ-c4f49a1c2f9eacf6Áicu_propertiesÁlÌ;Øßjyq.ê~žCs(-dc4cdd823550a516Áicu_properties_dataÁ“w‘ŠMXöù\ãmq˜õs-1181beec2790515cÁ
serde_jsonÁÖ]!å êÕæÙºìMÇà-5cfb308f35ab7820ÁzmijÁ®“ZCE„–/ZÜ&-d24768eed8a8ed6fÁitoaÁû”­eºùîÉ/Þ ÷ŽÚ<¯-8b71445f6e5565f1ÁuuidÁ.±«cN° ëëzr þ-4a6263db0768acd5Á getrandomÁqi÷®~*^e¬6ëø1-b4a33f586d36bdb6Á®Ÿ=ê @Êq{0¡¡£ª-c28393f1568b0153Á`ãŒN€ZÛ:õ\-7ce82f3507212cabÁchronoÁ:¦iyAVÙdsQüd-81bc77def1505fe8Á
num_traitsÁàÊ0õòWÉÖå²)ø¾-d2c36c99ea52558eÁiana_time_zoneÁƒCVæ¶–·?¬–56¡î-85071ef9353bd1ffÁ
bigdecimalÁ£ˆKsë>ÃͦÁ7‡-ccfd7694e3770860Á
num_bigintÁs0•-vž×brÎ3G(A-97f6e7f7e35ea295Á num_integerÁÜ
zŽÌ_GÕÌ£©l³[6-28e275039614d8f6ÁlibmÁŠ"Y—l4ZP¢1¸ÍÚ-bbfcdb00a77ef297ÁhashlinkÁëÏ<X„Ôƒþ#'Y8ò-4721461de61ab6f6ÁÐÊØ]qã*K™Ÿþ¶R”±¤-7b8b7883922b2245Áallocator_api2Áúd[^Yñ8ȃ$WãC-db2be312fdeda873Á
equivalentÁÆÞ•©¼ôÙ»wÌ’F¬D-4a285f80be49dab1ÁfoldhashÁM ‘´ôÏÉ‹¶ù=Ï?-6910db6ddf0690d7ÁbytesÁ1ž;›¢¥³3t´÷¬-9ab8679fb35a705dÁtokioÁiéUÈwÔ§”—Gçýê-14f0f4025cfd692cÁ parking_lotÁᎬ?C'!”…Yä¿ýp-194d2c464d7c9b4bÁlock_apiÁ6JÂÉ–Coó;³u‰‰×}³-a58f13f6ba8e2585Á
scopeguardÁ±hú`Ã+ú=*ž)$ý-14a1bf74f002cc8bÁparking_lot_coreÁ´G¦GObÍH£7«ï¡ÅÈ-5fe2f588eb1836abÁmioÁjUa?{`å3c@½åk«üj-e2adf0334040c489Á tokio_macrosÁÅm6‡Ä”蚬îAôGôâ-d13c5e580899166cÁsocket2ÁŒí”l.,.O¦Ýžw ê¸_-477bf62e8b01439eÁsignal_hook_registryÁóÓêܤÞß\ÏÍZ¤êk1„-0df3f4b575f2ad33ÁerrnoÁAX'2k$~t—üt]-06a2f72be8b8e935Á
native_tlsÁZ/må
(†b$®=UÈCC-2b65d3d00e10abefÁopensslÁ¹mvm¡#Õe0ßo<§P-b83909ef4bbebbe9Á openssl_sysÁxÇ$áŒÅbÀ¥{ØÐ‚À-9044b09aaf577940Á
foreign_typesÁ¹HÑ´?tU*Ñù³°Rè-6fc556e25db352afÁforeign_types_sharedÁ•tÐyÿ;?Û\uøì-189f8ea88ac2b5e2Áopenssl_macrosÁ³T?ô“Õ`3Ûb¶­³Éo-7355abddd96e3513ÁbitflagsÁ¨7AvÖb,* èh©¯³Ö-765f98ff397854cfÁ
openssl_probeÁg”Ïé\.{T=YøÎ Ú-a6f8a404a20c37c7Á¹
ý°-V]S8¤ú
õD 0-a3148a17b1a5f781ÁdigestÁP±µÖ+û•Þ¡•ª´¾À-4789fcc75ff26d88Á
crypto_commonÁQs}
[dPiç•éë£-022979c1362b6763Á
generic_arrayÁîŸÑ[óBãzTi
-23ceb53c09b1f24aÁtypenumÁŘ¼ÿÄs7Äo°‹×Õ
-343b991ff7c0c319Á block_bufferÁ"d•œF,Ú¥ùØÕ\-7b70ef144a3336c4ÁsubtleÁ •òeôÝ9鳪pŠ
½-89a615d2f874ad55Ábase64ÁÔÿ0S™ï#Ï…©rþìä·-bffeb343559b9b16ÁindexmapÁ’š= ”½‚•ci¡Œ&¤2-654a95d39e9dd495ÁÐmH¯°gÌÕJÂ/d¿V³-1e5c574056266302Á thiserrorÁQ5®‚#HÉ}UV}¹=Ký-39e83342e6d9ed26Áthiserror_implÁÀaÛ¨:扽[mÁ1Ì-f82ca863408ecbadÁ
sqlx_postgresÁweA¬ú²?Õ¼å"怒ýn-b15f7e9b4f1562a2ÁhkdfÁõyjªóÛU•&ÿ£4QF-e8e388965c6f1efaÁhmacÁÑC(¼È[ƒËÔ`Õë-46aebcc1ed280377ÁrandÁö%`oʶs"~ÛÇ‹¢`”-32045a04c273b4ceÁ rand_coreÁ®Ö CÚ"uÍÿ?ê% ½(-53036fee12357457ÁÝô+šçT ÕÒ>£+4ð-aa0343546db87a82Á rand_chachaÁË!|’¬MŠþ¨ ½¢Ë-959580a3d97bee75Á
ppv_lite86Á¡í8ÉLЇ% ®c¾-2314cc2b118bc50cÁzerocopyÁ Nf<Þß§1*²Es-a1936efa8b233a0bÁ
stringprepÁyvDçö¨\ê`øEÓܵ-c7f957e16220cd5cÁ unicode_bidiÁ&<Ž®“€—îùdÝ©8v -3620a7802968d356Áunicode_normalizationÁÙLÒ&®Ã}»4~Q#Ó¾\-1a1c38039164aeb6ÁtinyvecÁÖö&^»â(¨"ئ°=-b78005b730023ef3Átinyvec_macrosÁÑð\ÁpŽ¥ƒÁ yÒz¬Úñ-7b606265eeb25177Áunicode_propertiesÁ2^ÓÕœ!4V­3^¿-a0bc00b182b38371Áfutures_channelÁã¥Þ~1˜qâɉs<-6b1a756874e958b8ÁatoiÁŽ) Å‹2¼Ž%Ù;µŽN-4fd30fe8c04dd63dÁ byteorderÁ”8æ…C#f•‘þŸ\ì-1f170b1ea1de3a8eÁmd5Á½E¦‘N¾¼ý¥œ†WP-b7ee55712cf79b54ÁhomeÁZ·êòŸD¢qYÌ8-859daca3dc6351abÁwhoamiÁ¡Á‘Ÿ³šÃ(Œ¢Ñ‰-76d1f1b9c77473caÁhexÁ|¥"àè–ïôr
Û%A-e958af846a0557d7ÁcrcÁª§lU$@68À8µ»Á-9c880b0ef6c7b4dfÁ crc_catalogÁ{Ó‚Ä ]J€Ô7!¼us-acdad7ed5cd000c9ÁdotenvyÁ9Þ+ ùÔ‰¬]k"F-fc52930004df5672ÁmysqlÁ,Ä
»á8ŒÎ MySqlÁ,Ë
»á8MySqlConnectionÁ|Ò
ȇ8>@
MySqlExecutorÁlã
»á8_a MySqlPoolÁLò
»á8|~MySqlTransactionÁ„ý
»á8 ¢sqliteÁ4â»_sqliteÁœçSqliteÁ4껬:SqliteConnectionÁ„ò»¬:@BSqliteExecutorÁt„»¬:bd
SqlitePoolÁT”»¬:SqliteTransactionÁŒ »¬:¥§À 
  
 !"#$%&'()*+,-./0123456789:;<=>?@ÄABCDEFºJJJJJJJJJJ J
J J J
JJJJ reexportsÁ\\Jinstall_default_driversÁ_ONCEÁ_ macrosÁbqueryÁbquery_uncheckedÁb
query_fileÁbquery_file_uncheckedÁbquery_asÁb
query_file_asÁbquery_as_uncheckedÁbquery_file_as_uncheckedÁb query_scalarÁbquery_file_scalarÁbquery_scalar_uncheckedÁbquery_file_scalar_uncheckedÁbmigrateÁty_matchÁpp same_typeÁr¥pWrapSameÁt
t¥t¦tˆtpz¥z¦zæ p WrapSameExtÁ~WrappedÁ~ wrap_sameÁp¥¦ÐBp¥¦ÐBp MatchBorrowÁ
¥¦ˆp¥¦æ pMatchBorrowExtÁMatchedÁ match_borrowÁp'aÁDp¶DDpœ¶DœDpŸ¶DŸDp¢¶D¢Dp ¥¶D¥Dp
¨¥¨Dp «¥«Dp ®¥®Dp
±¥±Dp´¥´Dp·¥·Dpº¥ºDp½¥½DpÀ¥À¦ÀDp
conjure_valueÁÄ¥p
dupe_valueÁÆ¥
spec_errorÁÈÈÈÈÈÈSpecErrorWrapperÁÎ
ÎÎˆÈ SpecErrorÁÒÒ__sqlx_spec_errorÁÈÕÕH× ÈÙÙHÛ ÈÝÝHß ÈááHã ÈååHç È __spec_errorÁGtypesÁëëencodeÁîîîîHdecodeÁôôI¬?øøøøø¥ þþþþþþþþþþ þ
r
r
}


¨
«
«
®
±
±
´
·
·
º
½
½
À
Æ
Ô
Õ
Õ
Õ
Õ
×
Ù
Ù
Ù
Û
Ý
Ý
ß
á
ã
ç
~“Ò~ttuöAxˆpyp Y’/³8oÑ ¥Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¦~ 8ttuöAxˆpyp Y’/³8oÑ ¥¦Š¦CˆpŽp ¿©õ%°ÞÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ¶DÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙúHúHßûHÁ‘4Ý­f‰úM÷ЦCˆpŽp ¿©õ%°ÞÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ¶D
Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙªBªBö­BbufÁ÷<®B÷<9)
-ÜnLŽRçEçEèEGlobalÁ ¿±‡§í#ЦCˆpŽp ¿©õ%°Þ¾OÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ¶DÑPЦCˆpŽp ¿©õ%°ÞÂQÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ¶D×RЦCˆpŽp ¿©õ%°ÞƒPÑPЦCˆpŽp ¿©õ%°Þ‡R×RЦCˆpŽp ¿©õ%°Þ 8îNîNЦCˆpŽp ¿©õ%°Þ 8 8¥›XЦCˆpŽp ¿©õ%°ÞîNÂWЦCˆpŽp ¿©õ%°Þ›X‘XЦCˆpŽp ¿©õ%°ÞÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÂWÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙîNЦCˆpŽp ¿©õ%°ÞÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ‘XÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ›XЦCˆpŽp ¿©õ%°ÞÃZûYЦCˆpŽp ¿©õ%°Þ–\Î[ 8ЦCˆpŽp ¿©õ%°ÞîNôNÒ 8 8 8 8ÎÎÏÇGш ªÒ!•ƒ”݉_Ò 8 8 8ÎÎÏÇGш ªÒ!•ƒ”ÝÛ_Ò 8 8ÎÎÏÇGш ªÒ!•ƒ”ݧ`Ò 8ÎÎÏÇGш ªÒ!•ƒ”Ýí`ÒÎÎÏÇGш ªÒ!•ƒ”Ý­at…
œŸ¢¥¨«®±´·º½À
Õ
Ù
Ý
á
åÎ~ ÒgrüÚ&ý ÛMîûbö_1Á_2ÁJ­
}üÞ OttuöAxˆpyp Y/³8oÑ ÛM¦N ¦N_argÁnùž"#  Õö“U…”•–™
 %–™
 ý–™
 ŽR
´™
 M § ïíe¼îËè¿*ŽR
ý¨” …·”e·” =·”
-¹” ¥ã†
  Þíd R­é(

 5 O 

”
~
 3
Æ” ² § ïíe¼îËè¿*‚È‚ÈArgumentÁ„È´ÀbökÏ®ÝWj´
Ç”ýГ äÈ
Ö”
ù@#
ÜW:" ¼ üç
Vý ’Ƕcƒýä˜W
â|E‡”ý¾(F
×|Ìý×…¨
à|Uî(


œj
ÆäÈäÈ ArgumentsÁæÈtemplateÁ `çÈÀ `üöMõô]Td<ídDÊe(°e&Âg¥ªg¢ªg ªgž EÎf}é(
²@ÿhœjb
ÚsŽR±üñ
* ºŠ¦CˆpŽp ¿©õ%°ÞÛM¦N¡üÁ
`ÛM§l
ÛM Ì
ŸdÒ
¿_uÁIùž"# íd | y °es ½ ÊeC@<9 6
3 0   ídÎf+
 ^ y 
9g+
¦
 \ªg) Ø ÂgÀ½ äȸ¿Iù@#Èÿhh üÞY³¶c¬®â|ª§×|p¤à|Ÿ
œjœj¬¹jíd
Êev°etÂgóªgðªgîªgìÇkÎfMaØÿhœjùýkôùý*#ù
àWíd#,Äüç/ÛM Nær^ùý*#dærníd#)Æü˜2ÛM ¸ûb­Tý3ærqŒ¨ä؉_Ú^žBoxÁ¡ˆˆ¢ˆl }.xϾ Ìì—SòbÚ^ìt¿×ü®ÊuüÜA     Ú^ =Ñtðµ‰_!÷
ª‰_0@Dìt ¸¹Øoìt« ÑtÚ^ ©žús¡ˆˆ¢ˆl }.xω_—SÞ‰_ݰ[ôävÒwìt Ô‰ö ÜÛ_ât¬_ìtòb¬_ìt©Ûüš„yü½A    ¬_,­ :ãx|Û_"¯

˜6Û_1\‘ Õñ‹
…ú‹

 * 
ª˜ StringErrorÁˆ¾ ¦»âp´<@q£ ¢­ìt
ŠŒ

9AÜÚýµæ0WƒÑPìt4ý¹‡Ø
mÒæWìtŒ ãx&¬_ ŠÑP Û_šžús¡ˆˆ¢ˆl }.xÏúz—Súz°p¨œz¬_4¬_:ôzÔ–}ìtÜìtìtäüð× à§`âtø_ìtòbø_ìtßüöŸã~ü¤A   ø_,” 7Ä~„#('„§`ù'„#(  
ù2æÇ$ ù2™"$
ŸX%
ý½š"%

§ ïíe¼îËè¿*òbù2šì$ Æ"$ $
Àc§` §`  c cˆ¢cµ
 `£cêQ `àB¤GS
Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
òbŸÈŸÈ ÈErrorÁ O˜éBL¹2Û$  ¿€  c cˆ¢cµ
 `£cêQ `àB¤GS
ñÐ òÇ
 PhantomDataÁFu\»Ÿ òb 2¬ $ 

ù2»
ý$ ‚È 2· $ t
{  ðg '«#§űù C ŽRªgÊe¥Ñù Âgý›ùL äÈmóÓ2 EøÓ2 
 ÍÆ¥
 ªgEî¥ 
 Þªgmî¥  Ž[
ÄÔ2 
 ¬#
rov uôzŸ³ð ö ü ­Ô2 
   Ë,gòbÑP ¹j
ŽÔ2 ýóÓR2 û
¿TídÑPË,gµˆÀˆ
´2…‰ý¤Ô 2ýÔD2
ú¥ µ×§ 
 o¶…°eMƒ¨ 
gý¸)$b
ýî#)^ Rý¶)&b

Û)b

ž¨ 
à)› ídýî¦Á  Û¼ídýë¥ð Þ %ͨ BÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙídq Ãìt«à
V]ýð!n$Èb§`lù2°Ö$ý®W‡% §`Ù2™$ý²™µ%¯§`òb12µ$ý†~û%ª§`EÌš%ýÅ÷ª«cªgªgýÖÐñ2É,ùð"=ýš¢Ç ·c ý«¥

ˆ ªŽREå§
ý¸#¬b ërŽRý¥§z
ý¬*ñF
š93î$F
ù4¬Þ[ÿÝù4“á4ýÞjKX
ÀŽRu¥'b
ý»•MX
ÊŽR}Ô'b
ý»µpN
ÄŽRË
ýà"¹^·RŽRÍNý‰(ì ¸výŒ§
ý¹5G ÑPùÇ"qÿ ƒÑPìt4‰û ö ìtó Ä~9 ø_ ñÑPùâ"U¹jº §`ºðgªg½ðgº •‘ÑòÇôÇ PlaceholderÁõÇ»ÀböÇ formatterÁÀb÷Ç _lifetimeÁÀbøÇùÇCountÁúLjÀb©¡â] å.ÊD ¿€A ‚ƒï 2´$ §`mŸX%ÊeâÂg»±‹ ôˆ ˆ ªg%¯¥
ªg
íd³
Îfk
°e

ªgí
RÒ
–}¨ úz¦ °ŠÀ
ББÀ6
ù
ý‡k XŽRªgýå•!XŽRªgø_áø_çê èˆ
Ïé3ˆ%FôzA
}ìtI
ìtìtQ
üÙ HDäí`ât¾`ìtòb¾`ìt§
ãüßÈΕü A  ¾` 5±•Ž #ù „#(Ôÿ ýåü&`
­&í`ídídÐ)ÿ ù)„#( 
ù5æÇ$
ù5™"$     ¿€ù5šì$ Ã!$
~
Åcíd íd«ñ¹5Û$ 
‚ƒŒ
òÇ Õúƒ 5¬ $ 
 ù5»
ý$ ‚È
5· $
ü
 ðg )«#. 
 T ŽRªgÊe
 Âg
 äÈ




 ªg

 ߪg
¡
  
ìþ

 ¬#
tqx wôz¡µò
ù





 Ë,gµˆÀˆú
÷
îèˆe _
…‰Ó Ï
Ë È Ï  5Ç™°eÆ Í [gÄ Á  R¾ » ¹ À ·  íd´  Û¼íd¯ ˆ
« ê±‹Õ (ìt|ƒä.5ý«üb`«&í`ýé t$ÆbídZù5°Ö${  ídÙ5™$w ¯ídòb15µ$r ªídn k «cªgªgáf É,ùð"=a 
·ct

\   ß  ªŽRX  U  ërŽRQ  M šI F ÿÝA < ÀŽR9 7 ÊŽR3 1 ÄŽRø - ·RŽR) &  ¸v!    ÑPùÇ"qƒÑPìt4›
ìtÝ  ±•å¾`Ú ÑPùâ"U¹ji ídBídq•‘DðgA³‘U¿‘>¿€;‚ƒó—$ ídÊeg Âg@ ±‹
ôˆ
ˆ
ªg ªg íd5
Îfí
°eŒ
ªgo
Ú“S
})úz'_eÁôÀ££££À+g­&í`ídídŽRªgŽRªg¾`p¾`vë—舢ñ”ŠôzÈ–}ìtÐìtìtØüØ 3Ë è­aâtþ`ìtòbþ`ìt çüÞ
³Ó¦üŒ A þ`
 2¸¦ ã–
˜Õâ<œ  w!%ídÎfµ‹‹
=ß™ ýó¤) ýð49

ýÿ‚M&
&×!
ãE—SE•ƒð! !
UninitializedÁ"#ZeroedÁÕ8¤O|ÅŸƒC"—S-¹ƒR"èØèØ éØ²‚êØŸ²‚ªë¥CHÈ]Àƒá  Š  ÷
ìtK
R

ô–
D
U§œ

%±Á,õ±Á,
°euÉœ
 E€¸((RawVecÁ+innerÁ,_markerÁµ!iÇ÷åÖ_ŽR—S-- RawVecInnerÁ/µ 0capÁ1¤/‰6< ”I—SUniqueÁ žÙª8Åá™-ÝñŽRÊeýÕ€$%   ŽRýç7N 

ܜ
 

•Ë– ªgýå›É

­
 ­Á”  úH
ü<lõ
ò
ù
 
ø$ôz"6N&ýù‚S&
r&І&HHTryReserveErrorÁ—Hÿ㤉n¸F’†(›%
pŸ†#%Þƒ&
«¬ý•…-'ý–…,'ý•è3)ý•è!)E¡¹+
+
ÆÆ‘ÆUsizeNoHighBitÁ’ƈ¢  ÞÌ3ëì8eÙ0 V, ªg
³¹+ù1¹º#!-‡&ªg
Çè)ýˆè@))ë'
Á…'ýÖ@G. 
Â…'
­†&FMýÖ4€ (ŽR—S
"' ˆƒFu\»ŸŽR
Õ5
ýè¤> ªBŽR—S z'ªg
¥¥ =è›
 
­'ªg+
 è1ƒídìt4… ý––e
¤ý†˜7³6Íý–<oö3Ö%à|Uç<ýäÿ:3ŽRUò<ýÖ…eº2ŽREýŠÁ»2ŽR—S¤†ýû“aÏ4ýÆ<7ÍíØ–
ý…™ÉÑ2ŽR—SVýÕ™ù  ýø™Ö  ý£¤ ’LŽR—Sý„š! ýŠ4ÒÞEŽR—Sý€ÁU,
„tŽRE©œ ýÖâÚ
ÒBŽR—SeËœ ýZIEŽR—S-¥äýê¶NZ—SŽR-ÍZýÌ·[\—SŽR}š·ýº-Ço¯ŽRŽR5‰¸µ¯ŽRŽR5Ý.o¯ªŽR«ýò#Mo¬ŽR¸ÛªŽREª·ý‰™Z
ŽRý²œ+ ýÇßN¨ŽRýâš&Zoš96î$FkÿÝfaÀŽRuþâN_ÊŽR}©ãNý•”Ï
ÕBŽR—Seùœ ýù²I ÄBŽR—SU”– ýË\`!GŽR—SU²³!ã"ÀŽRu]"ý»¸"^—SÅ]"ù0Æ V$§ÄUª¹$ý£‚âE—S¼ ýÛƒž&&톆&&ý¤çª'i—Sý›…'&ýº8;n)È‚5¯è))^—Såšè)+§Ä+ù1ø¹n!)íÕ·èG' ýþ„E&.š98î$F./ÿÝ /ìtÜ  ¸¦ þ`Ù ÑP ×Rú
Îf}â<}˜!
úz!
ªgÙ™ ó °e ©­h ´« ¬þ
Ú“•±Á,ÊeÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¬º¯W &EÛƒ&[&W&º¯&³&ªgd)ªga)ü°_+ù£¹ MŸ5ŽRÁ©ÇŽRªgÄŽRªgçŽRªgU¹—Õªg—Õªgþ`( þ`. ìtìt0ôz#}ìt"#ìtìt*#ýkt ×R
Í—S
æÝé6ˆ%F
—Lé7ˆ%FĨq ˆ°«¬
ø…
ó×é8ˆ%FÌ‚  tÛM¦N u,Üc7ˆƒFu\»ŸÛMeˆƒFu\»Ÿ¦Nšäß  ÛM¦N!Š.§l9‚ÂA°ÂIPô‹ έaÏ(þ`3­a:AøJbpÈëîôþÀG<ǘ ÅiLï¡
IntoArgumentsÁlúªColumnÁ4¥«  ColumnIndexÁ\Ȱ ConnectOptionsÁtõÜ
ConnectionÁT…½ databaseÁ$°ˆ

DatabaseÁD¶
DescribeÁDÞExecuteÁ<†÷
ExecutorÁDÊ
FromRowÁ<· üÅ
EpoolÁ$Ú¸PoolÁ$àí__query_with_resultÁœ¥ ˆ ¬?,Õ  ¬?c
query_withÁTÜ ú?D‡ §ú?g
query_as_withÁl ¬
query_builderÁ$Äà QueryBuilderÁdÊÒ __query_scalar_with_resultÁÔ¥ ø!Ô@dã í#Ô@kquery_scalar_withÁŒñ ò$raw_sqlÁ<¢ &RawSqlÁ4« 'RowÁÌ Ç( StatementÁLï à ) TransactionÁ\
ù+TransactionManagerÁ”¨
ñ,TypeInfoÁDÛ
Ü-ó$ÿ
È.ó FValueÁ,  ê0ValueRefÁD§ û1EitherÁ4Å 2errorÁ$ø ]4Ó 5Í4… f6¾A<¾ 7¾AopostgresÁD˜x9 PgConnectionÁd¢:
PgExecutorÁT°;PgPoolÁ4¼<
PgTransactionÁlÄ=PostgresÁDÓ>‚Í>AnyÁ¡•%AN­Í%AN AnyExecutorÁ\¦ªBQÄ\‰C
GtestingÁ<޳H
test_block_onÁl¾ œI¸?|‘„dÎ?T¼’eß?¤Þ–f‰@lðÚh@”ßßi¶@¼øäjç@Œólÿ@´‡ùmœAܦÿn¨IdÁ é__rtÁ$ÑäêEncodeÁ4صóð…ÐóòDecodeÁ4Å!É÷õ¶Ð÷öAnyPoolÁ<†¨@]
AnyConnectionÁl°%@«&øþü' þThe async SQL toolkit for Rust, built with â¤ï¸ by [the LaunchBadge team].
See our [README] to get started or [browse our example projects].
Have a question? [Check our FAQ] or [open a discussion].
### Runtime Support
SQLx supports both the [Tokio] and [async-std] runtimes.
You choose which runtime SQLx uses by default by enabling one of the following features:
* `runtime-async-std`
* `runtime-tokio`
The `runtime-actix` feature also exists but is an alias of `runtime-tokio`.
If more than one runtime feature is enabled, the Tokio runtime is used if a Tokio context exists on the current
thread, i.e. [`tokio::runtime::Handle::try_current()`] returns `Ok`; `async-std` is used otherwise.
Note that while SQLx no longer produces a compile error if zero or multiple runtime features are enabled,
which is useful for libraries building on top of it,
**the use of nearly any async function in the API will panic without at least one runtime feature enabled**.
The chief exception is the SQLite driver, which is runtime-agnostic, including its integration with the query macros.
However, [`SqlitePool`][crate::sqlite::SqlitePool] _does_ require runtime support for timeouts and spawning
internal management tasks.
### TLS Support
For securely communicating with SQL servers over an untrusted network connection such as the internet,
you can enable Transport Layer Security (TLS) by enabling one of the following features:
* `tls-native-tls`: Enables the [`native-tls`] backend which uses the OS-native TLS capabilities:
* SecureTransport on macOS.
* SChannel on Windows.
* OpenSSL on all other platforms.
* `tls-rustls`: Enables the [rustls] backend, a cross-platform TLS library.
* Only supports TLS revisions 1.2 and 1.3.
* If you get `HandshakeFailure` errors when using this feature, it likely means your database server does not support
these newer revisions. This might be resolved by enabling or switching to the `tls-native-tls` feature.
* rustls supports several providers of cryptographic primitives. The default
(enabled when you use the `tls-rustls` feature or `tls-rustls-ring`) is the
`ring` provider, which has fewer build-time dependencies but also has fewer
features. Alternatively, you can use `tls-rustls-aws-lc-rs` to use the
`aws-lc-rs` provider, which enables additional cipher suite support at the cost
of more onerous build requirements (depending on platform support).
If more than one TLS feature is enabled, the `tls-native-tls` feature takes precedent so that it is only necessary to enable
it to see if it resolves the `HandshakeFailure` error without disabling `tls-rustls`.
Consult the user manual for your database to find the TLS versions it supports.
If your connection configuration requires a TLS upgrade but TLS support was not enabled, the connection attempt
will return an error.
The legacy runtime+TLS combination feature flags are still supported, but for forward-compatibility, use of the separate
runtime and TLS feature flags is recommended.
[the LaunchBadge team]: https://www.launchbadge.com
[README]: https://www.github.com/launchbadge/sqlx/tree/main/README.md
[browse our example projects]: https://www.github.com/launchbadge/sqlx/tree/main/examples
[Check our FAQ]: https://www.github.com/launchbadge/sqlx/tree/main/FAQ.md
[open a discussion]: https://github.com/launchbadge/sqlx/discussions/new?category=q-a
[Tokio]: https://www.tokio.rs
[async-std]: https://www.async.rs
[`tokio::runtime::Handle::try_current()`]: https://docs.rs/tokio/latest/tokio/runtime/struct.Handle.html#method.try_current
[`native-tls`]: https://docs.rs/native-tls/latest/native_tls/
[rustls]: https://docs.rs/rustls/latest/rustls/
ÁøJbpÈëîôþÀˆG˜ Åiˆ¡õÃ{ª“Äu« ªÄj° ÆÄ\Ü
åÄR½ €ÅJˆ

™ÅB
²Å:ËÅ3÷
ãÅ+Ê
üÅ$ üÅ5
E¤Æ!¸¹ÆíÎÆ
 ˆ ¬?   ¬?cÇ ú?ÿ §ú?gÉÇó ¬çÇæÃ…ÈÚÒ ¢ÈÀ ø!Ô@¿ í#Ô@Ïkëȯ ò$ɨ &¥É¢'¼ÉŸÇ(ÐÉà )êÉù+†Êyñ,©ÊqÜ-ópÈ.ó FâÊlê0øÊdû1‘Ë^2¨ËY]4ÓX5ÍWf6¾AV7¾AfoýËOx9•ÌC:²Ì9;ÍÌ3<äÌ&=‚Í>‚Í/>­Í•%AN­Í0%ANÙͪBQÄC
G™Î ³H±Îü œI¸?ûdÎ?ùeß?÷f‰@õh@ói¶@ñjç@ïlÿ@ímœAën¨IééïÏåäê…Ðßµóð…Ðõóò¶ÐÚÉ÷õ¶Ðð÷öçÐÔ¨@]‚ÑÇ‘%@^¢¥¨ܳ ¤Ø~Ì’qôµ\¬ÝDG/2œš ìÉÿœðîñÛÞä¢Í¯¡¤üþ#ˆ„Â~\_œñUX03Ä© üð1æ¼ÉÜß³ ¥¨œ¼ ŠüÙ x´‚
cfFIôÅ
7´í
- üÿŒº ï„å à ÖÙËΔ³ Å$ª|knSV@CT†L“(+úýäøðŒ¼÷”ƒæä¯ÏüFC **SEE DOCUMENTATION BEFORE USE**. Runtime-generic database driver.Áø
©üG1©
The underlying database drivers are chosen at runtime from the list set via
[`install_drivers`][crate::any::install_drivers]. Any use of [`AnyConnection`] or [`AnyPool`]
without this will panic.
It is recommended to use [`install_default_drivers`][crate::any::install_default_drivers] to activate all currently compiled-in drivers.
[`AnyConnection`]: sqlx_core::any::AnyConnection
[`AnyPool`]: sqlx_core::any::AnyPool
Á»º¼Îî\_OnceÁ$‰ï8JKinstall_driversÁ|° âL­Íà•%N­Í%N AnyArgumentsÁdåšOAnyConnectOptionsÁŒó¥%PÙÍ\†ªQAnyPoolOptionsÁt“©RAnyQueryResultÁt£¬%SAnyRowÁ4³³%T AnyStatementÁd¿ÀUAnyTransactionManagerÁ¬ÍàVÛ‚áV AnyTypeInfoÁ\äÍ%WAnyTypeInfoKindÁ|ñÖ%XAnyValueÁD—&Y AnyValueRefÁ\Œ&ZAnyKindÁ<Ê™%[|~Ûü˜'Á¹qtehLO36"% ëíÁÃ¥§xz¼ºhÄÔçШ]‚Ñ‘%^¼ö9ì ü¤ üÂKH Install all currently compiled-in drivers for [`AnyConnection`] to use.ÁŽúü’\Y May be called multiple times; only the first call will install drivers, subsequent callsÁÄï will have no effect.Áˆú ### PanicsÁü›OL If [`install_drivers`] has already been called *not* through this function.Áëúüï41 [`AnyConnection`]: sqlx_core::any::AnyConnectionÁ¼« òb
_ŒË Jï8ï8½€ð8ʪé8ãTPàVçaB
_<closure_kind>Áa<closure_signature>Áa<upvars>Áaa_agòbòbòbT»Ÿ?”úÔô4“””zü@= Statically checked SQL query with `println!()` style syntax.ÁAúüEeb This expands to an instance of [`query::Map`][crate::query::Map] that outputs an ad-hoc anonymousÁü«jg struct type, if the query has at least one output column that is not `Void`, or `()` (unit) otherwise:Áú”š ```rust,ignoreÁÄ­ # use sqlx::Connect;ÁüÆ?< # #[cfg(all(feature = "mysql", feature = "_rt-async-std"))]ÁĆ # #[async_std::main]ÁüŸ*' # async fn main() -> sqlx::Result<()>{ÁüÊSP # let db_url = dotenvy::var("DATABASE_URL").expect("DATABASE_URL must be set");Áü¤ZW # if !(db_url.starts_with("mysql") || db_url.starts_with("mariadb")) { return Ok(()) }ÁüÿC@ # let mut conn = sqlx::MySqlConnection::connect(db_url).await?;ÁüÃ,) // let mut conn = <impl sqlx::Executor>;ÁüðLI let account = sqlx::query!("select (1) as id, 'Herp Derpinson' as name")Áì½ .fetch_one(&mut conn)Á„Û
.await?;Áìúüð>; // anonymous struct has `#[derive(Debug)]` for convenienceÁä¯ println!("{account:?}");ÁüÌ1. println!("{}: {}", account.id, account.name);Áþúd # Ok(())Á< # }Á,—üIF # #[cfg(any(not(feature = "mysql"), not(feature = "_rt-async-std")))]Á”ç # fn main() {}Á ```Á úü† HE The output columns will be mapped to their corresponding Rust types.ÁüÏ 85 See the documentation for your database for details:Áˆ
úüŒ
(% * Postgres: [crate::postgres::types]Áüµ
" * MySQL: [crate::mysql::types]矯
SP * Note: due to wire protocol limitations, the query macros do not know whenÁü¬ WT a column should be decoded as `bool`. It will be inferred to be `i8` instead.Áü„ )& See the link above for details.Áü® $! * SQLite: [crate::sqlite::types]ÁÓ úü× \Y **The method you want to call on the result depends on how many rows you're expecting.**Á´
úü¸
ro | Number of Rows | Method to Call* | Returns | Notes |Áü«ro |----------------| ----------------------------|-----------------------------------------------------|-------|Áüž¢Ÿ | None† | `.execute(...).await` | `sqlx::Result<DB::QueryResult>` | For `INSERT`/`UPDATE`/`DELETE` without `RETURNING`. |ÁüÁ | Zero or One | `.fetch_optional(...).await`| `sqlx::Result<Option<{adhoc struct}>>` | Extra rows are ignored. |ÁüÆÂ¿ | Exactly One | `.fetch_one(...).await` | `sqlx::Result<{adhoc struct}>` | Errors if no rows were returned. Extra rows are ignored. Aggregate queries, use this. |Áü‰š | At Least One | `.fetch(...)` | `impl Stream<Item = sqlx::Result<{adhoc struct}>>` | Call `.try_next().await` to get each row result. |Áü§]Z | Multiple | `.fetch_all(...)` | `sqlx::Result<Vec<{adhoc struct}>>` | |Áúü‰[X \* All methods accept one of `&mut {connection type}`, `&mut Transaction` or `&Pool`. Áüåvs † Only callable if the query returns no columns; otherwise it's assumed the query *may* return at least one row.ÁœÜ ## RequirementsÁüð^[ * The `DATABASE_URL` environment variable must be set at build-time to point to a databaseÁüÏKH server with the schema that the query string will be checked against.Áü›b_ All variants of `query!()` use [dotenv]<sup>1</sup> so this can be in a `.env` file instead.Áþúü‚vs * Or, `.sqlx` must exist at the workspace root. See [Offline Mode](#offline-mode-requires-the-offline-feature)Á„ù
below.ÁŠúüŽ_\ * The query must be a string literal, or concatenation of string literals using `+` (usefulÁüîda for queries generated by macro), or else it cannot be introspected (and thus cannot be dynamicÁüÓ&# or the result of another macro).Áúúüþ_\ * The `QueryAs` instance will be bound to the same database type as `query!()` was compiledÁüÞ_\ against (e.g. you cannot build against a Postgres database and then run the query againstÁľ a MySQL database).Á×úüÛ[X * The schema of the database URL (e.g. `postgres://` or `mysql://`) will be used toÁü·&# determine the database type.ÁÞúüâ~ <sup>1</sup> The `dotenv` crate itself appears abandoned as of [December 2021](https://github.com/dotenv-rs/dotenv/issues/74)ÁüäKH so we now use the [dotenvy] crate instead. The file format is the same.Á° úü´ -* [dotenv]: https://crates.io/crates/dotenvÁüâ /, [dotenvy]: https://crates.io/crates/dotenvyÁ´’! ## Query ArgumentsÁü©!^[ Like `println!()` and the other formatting macros, you can add bind parameters to your SQLÁüˆ"MJ and this macro will typecheck passed arguments and error on missing ones:ÁÖ"ú”Ú"àÄí"ûü†#?ŽÄÆ#åŽüß#*üŠ$S»,Þ$üä$Z¦ü¿%JG # let mut conn = sqlx::mysql::MySqlConnection::connect(db_url).await?;ÁüŠ&,בü·& let account = sqlx::query!(Áü×&63 // just pretend "accounts" is a real tableÁüŽ'_\ "select * from (select (1) as id, 'Herp Derpinson' as name) accounts where id = ?",Á„î'
1i32ÁLÿ'ì‰(â’„§(ˆ“¸(úä¼(õ“üÙ(1›”d)á”<˜)ö”, )ü¦)I”•”ð)æ•<ƒ**úü*KH B