Comments (2)
Do you have any examples in existing ORMs?
from reform.
@m0sth8 shared some details privately. The idea is to generate SQL statements with embedded comments, so it is possible to track them from RDMS logs back to application code. Sounds like a useful feature.
How RDMS support comments:
- PostgreSQL supports /* */ sytax without problems. Optimizer hints are not supported.
- MySQL supports /* */ syntax. It has hacks for MySQL specific code (
/*! STRAIGHT_JOIN */
) with optional version check (/*!50110 KEY_BLOCK_SIZE=1024 */
) and optimizer hints (/*+ BKA(t1) */
) after keywordsSELECT
,UPDATE
, etc. Internets say that comments in statements can kill query cache: 1, 2, 3. - SQLite3 supports /* */ syntax. Not sure about how it affects cache, but it should not be a concern for SQLite3 user.
- Microsoft SQL Server supports /* */ syntax. Comments can kill query cache: 1, 2.
- Oracle supports /* */ syntax with hacks for optimizer hints (
/*+ ALL_ROWS */
) after keywordsSELECT
,UPDATE
, etc.
How it should be implemented is an open question. Querier
looks like a natural place, but then statements like BEGIN
from DB
will not be logged.
from reform.
Related Issues (20)
- Question: What reform uses for UUID support HOT 8
- Release a patch version 1.3.4 to remove use of syreclabs.com/go/faker HOT 1
- Test with GitHub Actions
- Objhect Mapper design/functionality?
- Add golangci-lint reviews/comments via reviewdog
- reform generator is broken on Go 1.15
- Update release checklist and branching policy HOT 1
- Move Windows CI to GitHub Actions
- hope to add cockroachdb support HOT 3
- Primary key assigned to a wrong column HOT 2
- Go 1.15: generated code does not pass go vet HOT 5
- Use environment files on GitHub Actions
- Add MariaDB to CI configuration
- Tag "omitempty" to avoid passing zero values HOT 1
- Remove runtime reflection introduced in v1.5
- Composite primary key panic: Too many rows found. HOT 4
- Add golang-tip to CI HOT 2
- Skip trying to insert generated fields HOT 1
- InsertMulti() does not update primary key field HOT 1
- Add support for Redis HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from reform.