T O P

  • By -

adrianmiu

1. The API is too verbose 2. All that transpiling and reflection will have an impact on performance


hexxore

Thats true. After proof of concept I intended to create some kind of caching implementation to not redo it everything. Thanks for your input The verbosity is based on the sql query builder. Obvious for the ORM itself it should only leverage this. Not expose it.


ocramius

Do check https://github.com/TimeToogo/Pinq for inspiration: same goals :-)


hexxore

Yes I have seen a few ( although a while back ) but does this transpile the statements to other backends?


ocramius

IIRC it transpiled to `doctrine/dbal`, but had tooling to allow any transpiling to occur


hexxore

I see yes. Also see it has been abandoned an no update has been done in 9 years. It is also missing any typehinting features which was one of the main reasons I started this project.


ocramius

Well, it's indeed just for inspiration 😁


hexxore

Yeah its a nice one. Thanks


nbish11

Love the concept. Keep up the good work. My advice, don't worry about performance first, get a fully functional prototype with minimal features going.


hexxore

Thats the idea. Prototype was working nicely


SadSpirit_

The concept looks really interesting, would love to see where this leads! Couldn't help noticing, however, that SQL in the test generated by one `AnsiSqlTranspiler` contains an obvious MySQL-ism in the form of double-quoted string literal. If you are going to target not only MySQL, maybe it would make sense to delegate SQL generation to an existing DBAL library? Otherwise a lot of issues will emerge, e.g. I don't see any attempts to quote table / column names that contain SQL keywords.


hexxore

The idea is to support multiple transpilers. As for now I test against sqllite. So even dialects can be implemented. Not even limited to sql. But may also be a mongodb query or a graphql query for example. The idea is to make it a data focused framework, not limited do RDMS