Skip to content
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

Implement API to pass 'fields' parameter to CRUD library #236

Closed
Tracked by #254
Thorwinz opened this issue Jul 11, 2022 · 4 comments · Fixed by #263
Closed
Tracked by #254

Implement API to pass 'fields' parameter to CRUD library #236

Thorwinz opened this issue Jul 11, 2022 · 4 comments · Fixed by #263
Assignees
Labels
Milestone

Comments

@Thorwinz
Copy link

Thorwinz commented Jul 11, 2022

В java любая crud операция возвращает всегда все поля (весь tuple целиком). в crud есть возможность задать в opts столбцы (fields), которые нужно вернуть, но в cartridge-driver 0.7.2 это задать нельзя, opts там хардкодится, единственное, что ставится, это таймаут. нельзя ли ликвидировать "разрыв" в функциональности между java и crud ?

к примеру, в кортеже 30 полей, и я не могу выбрать одно поле, только все 30.
имеется в виду:

space = tntClient.getClient().space(SPACE_NAME);
space.select(Conditions.any()) — возвращает все поля, нет возможности задать нужное (ые), condition для примера

тоже самое replace/update/upsert/delete

гоняют по сети впустую данные

@vlalykin
Copy link

vlalykin commented Jul 11, 2022

было бы неплохо оформить это как "returning"-параметры (так понятно любому, кто работает с БД), сейчас отсутствие параметра означает "все поля", но необходимо также иметь возможность полностью исключить поля из результата, например, для insert/replace/update и т.д. часто не нужно возвращать вообще ничего, хотя jdbc всегда возвращает кол-во записей, которые добавлены/изменились/удалились. Может быть, надо сделать также

@Totktonada
Copy link
Member

См. также tarantool/crud#267 (не реализовано в crud на текущий момент).

@ArtDu ArtDu added the customer label Jul 11, 2022
@ArtDu
Copy link
Contributor

ArtDu commented Jul 18, 2022

Стоит разбить эту задачи на несколько и сделать из неё epic

upd 11.09.22:
Создал epic #254

@dkasimovskiy dkasimovskiy added this to the 2022Q3 milestone Jul 29, 2022
@dkasimovskiy dkasimovskiy changed the title Ликвидировать "разрыв" в функциональности между java и crud ☂️ [EPIC] Ликвидировать "разрыв" в функциональности между java и crud Aug 22, 2022
@ArtDu ArtDu self-assigned this Sep 9, 2022
@ArtDu ArtDu removed the hackathon label Sep 9, 2022
@ArtDu ArtDu changed the title ☂️ [EPIC] Ликвидировать "разрыв" в функциональности между java и crud Implement API to pass 'fields' parameter to CRUD library Sep 11, 2022
ArtDu added a commit that referenced this issue Sep 12, 2022
ArtDu added a commit that referenced this issue Sep 12, 2022
@ArtDu ArtDu added the 1sp label Sep 17, 2022
ArtDu added a commit that referenced this issue Sep 19, 2022
ArtDu added a commit that referenced this issue Sep 19, 2022
ArtDu added a commit that referenced this issue Sep 20, 2022
ArtDu added a commit that referenced this issue Sep 20, 2022
@ArtDu ArtDu added 2sp blocked Not ready to be implemented and removed 1sp labels Sep 26, 2022
@ArtDu
Copy link
Contributor

ArtDu commented Sep 26, 2022

Blocked by #272 because driver should parse metadata from crud. We can't get field by field name if we don't know position and It will frustrate users
image

@dkasimovskiy dkasimovskiy removed the blocked Not ready to be implemented label Dec 14, 2022
ArtDu added a commit that referenced this issue Dec 21, 2022
ArtDu added a commit that referenced this issue Dec 21, 2022
ArtDu added a commit that referenced this issue Dec 22, 2022
ArtDu added a commit that referenced this issue Dec 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
5 participants