-
Notifications
You must be signed in to change notification settings - Fork 335
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support all MySql.Data Connection String options #105
Comments
AFAIK, |
What is the possibility for getting "Treat Tiny As Boolean" support?
Is the current handling set to true? I'm having an issue with Pomelo.EntityFrameworkCore.MySql when tinyint(1) is used.
Edit: I located the code to change and I found what the official connector does. |
The current default for |
(FWIW, converting |
@bgrainger Thanks, that's the workaround I'm currently using. Also |
The link in the first post is dead, this is the current one |
Are you planning to support the TableCaching option? I'm surprised this isn't supported, particularly since this library emphasizes performance. In many scenarios, table caching could make reading hundreds of times faster. |
Have you previously used the Table Caching option with Connector/NET? The documentation seems very sparse and the only scenario I'd see it being compatible with is when UPDATE: I just looked at the source code for MySqlDataReader class and that is indeed the limitation. If that's the usage then you might just as well implement the caching yourself in your own application. |
OK, I understand. |
The data may not be changed frequently, but, it does change. In my apps, I would rather have accurate data. So, I would be inclined to stay away from something like that. Particularly, for something like user or role information. I guess it depends on what the cache timeout is. |
|
@mguinness Thanks for the analysis; I had not researched the @bkonia Caching seems like an application-level concern that should be handled at a higher level, not a feature of an ADO.NET library. (I'm not aware of an analogous option in any other ADO.NET library.) Also, since this is effectively a no-op for almost all Connector/NET queries (I suspect very few clients actually use |
This is typically referred to as 2nd level cache. Some ORMs, e.g. NHibernate, implement it, EF6/Core don't, though there are extension packages. Somewhat off topic: I personally prefer to steer clear and do things like user profile caching on application level. Some modern web API apps using JWT auth may not need it at all - depends on whether you need any sensitive user data on your every API request or not. If you do, cache in the app, if you don't just add to your JWT. That's actually one of the main "selling points" of JWTs compared to traditional session IDs - to be able to avoid hitting the DB on every request. |
Every option is either implemented, deliberately not implemented, or (just one: SSH settings) isn't implemented yet but has a documented workaround. |
Any plans for supporting |
What's the use case where you'd want to use it? |
As I understand, it's required for password-less Kerberos authentication. |
Right, but MySqlConnector doesn't support |
From Connection String Options Reference:
AllowBatch
true
by default, and there doesn't seem to be much point in supportingfalse
AllowLoadLocalInfile
AllowLoadLocalInfileInPath
AllowUserVariables
AllowZeroDateTime
AutoEnlist
CacheServerProperties
@@max_allowed_packet, @@character_set_client
etc. when connectingCertificateFile
CertificatePassword
CertificateStoreLocation
CertificateThumbprint
CharacterSet
utf8mb4
in this connector; unclear if being able to use a different encoding on the wire has clear benefitsCheckParameters
true
by default;check parameters=false
seems to be recommended only as a work around for Connector/NET bugs or MySQL permission problemsCommandInterceptors
ConnectionLifeTime
ConnectionReset
ConnectionTimeout
Connect_Attrs
ConvertZeroDateTime
Database
InitialCatalog
DefaultAuthenticationPlugin
DefaultCommandTimeout
DefaultTableCacheAge
TableCache
DnsSrv
EnableSessionExpireCallback
false
; manipulatesmy_aspnet_sessions
tableEncrypt
ExceptionInterceptors
FunctionsReturnString
false
; unaware of any clients that need thisHost
IgnorePrepare
includesecurityasserts
InteractiveSession
IntegratedSecurity
Keepalive
Logging
MinimumPoolSize
OldGuids
OldSyntax
OpenidIdentityToken
Password
Password1
,Password2
,Password3
PersistSecurityInfo
PipeName
Pooling
MaximumPoolsize
Port
ProcedureCacheSize
ConnectionProtocol
socket
andunix
are supported (and auto-detected)Replication
RespectBinaryFlags
true
by defaultSharedMemoryName
SshHostName
,SshPort
,SshUserName
,SshPassword
,SshKeyFile
,SshPassPhrase
SslCa
SslCert
SslKey
SslMode
Sql Server Mode
TableCache
CommandType.TableDirect
; seems low-value; caching is better handled at the application layertlsversion
TreatBlobsAsUTF8
utf8mb4
; also includesBlobAsUTF8ExcludePattern
,BlobAsUTF8IncludePattern
TreatTinyAsBoolean
UseAffectedRows
UseProcedureBodies
UserID
User name
UseCompression
UseUsageAdvisor
UsePerformanceMonitor
The text was updated successfully, but these errors were encountered: