maginatics / jdbclint Goto Github PK
View Code? Open in Web Editor NEWJDBC lint
License: Apache License 2.0
JDBC lint
License: Apache License 2.0
Some implementations like MySQL buffer all results in-memory then send them to the JDBC drivers to make small ResultSet faster. Users can enable streaming mode to work around this for large ResultSet. Warn about large ResultSet so users can detect when they are using too much memory.
Some third-party library could create a Statement without closing it, e.g., org.h2.tools.RunScript.execute
.
Long-lived transactions can cause excessive transaction log growth in databases.
JDBC lint could eagerly warn about unclosed by tracking them in the parent. For example, DataSource
could collect all created Connection
s in a list, Connection.close
would remove from this list, and DataSource.close
could warn when the list contains any elements. We should also investigate using weak references/reference queues instead of finalization since the former is more reliable and would cooperate with this feature.
Unsure how to address this since it relies on finalizer behavior. Enable file logging then run System.gc
until the expected log message appears?
Presently JDBC lint only exposes system properties to configure its checks. Instead it could expose its existing DataSource(Properties) and Connection(Properties) constructors which allow arbitrary configuration.
@diwakergupta does this address your use case?
Also update README.md with artifactId.
Some databases like MySQL 5.6 can avoid some overheads and perform better when issuing queries on read-only connections:
http://dev.mysql.com/doc/refman/5.6/en/innodb-performance.html#innodb-performance-ro-txn
JDBC lint could detect this situation and suggest setting Connection.setReadOnly.
These classes are similar to Blob and we can add support with a mechanism similar to Statement/PreparedStatement/CallableStatement.
Specifically, executeLargeBatch
and executeLargeUpdate
:
http://download.java.net/jdk8/docs/api/java/sql/Statement.html
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.