|
|
|
H2 - синтаксис MSSQL - TOP
|
|||
|---|---|---|---|
|
#18+
Может кто сталкивался или подскажет в какую сторону смотреть. Есть класс, который реализует постраничник на уровне бд, т.е загружает не весь список объектов , а только те, которые будут отображаться на страницы. Поддерживается MSSQL, POSTGRESQL, ORACLE. Необходимо написать юнит-тест для проверки, что все правильно селектится, для теста используется H2. Так вот с синтаксисом для POSTGRESQL, ORACLE все хорошо, а вот с MS выдается странный результат Код: plsql 1. Почему то происходит игнорирование внутреннего запроса, хотя отдельно он отрабатывает корректно, с чем это может быть связано? Если попробовать выполнить запрос непосредственно в MSSQL-е все нормально отрабатывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2016, 14:38 |
|
||
|
H2 - синтаксис MSSQL - TOP
|
|||
|---|---|---|---|
|
#18+
lleming http://www.h2database.com/html/functions.html Извините, что-то я не понял, хотите сказать, что использовать TOP нельзя? Тогда странно, что Код: plsql 1. выдает нормальный результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2016, 16:36 |
|
||
|
H2 - синтаксис MSSQL - TOP
|
|||
|---|---|---|---|
|
#18+
BoksyИзвините, что-то я не понял, хотите сказать, что использовать TOP нельзя? TOP это не функция. Вот в списке функций его и нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2016, 16:47 |
|
||
|
H2 - синтаксис MSSQL - TOP
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, http://www.h2database.com/html/features.html раздел SQL Support -> ORDER BY, GROUP BY, HAVING, UNION, LIMIT, TOP Как я понимаю TOP поддерживается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2016, 16:52 |
|
||
|
H2 - синтаксис MSSQL - TOP
|
|||
|---|---|---|---|
|
#18+
Boksy, авторLimiting the Number of Rows Before the result is returned to the application, all rows are read by the database. Server side cursors are not supported currently. If only the first few rows are interesting for the application, then the result set size should be limited to improve the performance. This can be done using LIMIT in a query (example: SELECT * FROM TEST LIMIT 100), or by using Statement.setMaxRows(max). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2016, 17:22 |
|
||
|
H2 - синтаксис MSSQL - TOP
|
|||
|---|---|---|---|
|
#18+
WarAnt, К сожалению, мне нужно проверить запрос с синтаксисом MSSQL, и вроде как MSSQL не использует LIMIT. Нашел, что-то похожее http://stackoverflow.com/questions/26253368/sql-order-by-in-in-subquery-returns-no-results Есть подозрение, что H2 не устраивает конструкция, когда внутри IN используется TOP, и это только догадки, больше ничего конкретней пока не нашел, может кто-то что-то слышал или видел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2016, 17:28 |
|
||
|
H2 - синтаксис MSSQL - TOP
|
|||
|---|---|---|---|
|
#18+
Boksy, Если хотите тестировать поведение MS SQL, то гоняйте тесты на MS SQL, зачем вообще H2 мучить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2016, 00:36 |
|
||
|
H2 - синтаксис MSSQL - TOP
|
|||
|---|---|---|---|
|
#18+
Локшин Марк, Ну чтобы при сборке проекта не было обязательности настройки 3-х различных баз, тут одну создал в памяти и проверяй себе что хочешь, по-моему это удобней. Что касается моей проблемы, походу это баг H2 https://groups.google.com/forum/#!topic/h2-database/d0Is5OTsX04 ситуация похожа, только в IN он использовал LIMIT, а я использую TOP. Попробовал на старой версии все заработало. Спасибо всем, кто действительно старался помочь решить конкретную проблему =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2016, 09:41 |
|
||
|
H2 - синтаксис MSSQL - TOP
|
|||
|---|---|---|---|
|
#18+
BoksyНу чтобы при сборке проекта не было обязательности настройки 3-х различных баз, тут одну создал в памяти и проверяй себе что хочешь, по-моему это удобней. Увы, но у каждой свои грабли, поэтому и приходится использовать специфические пути обхода. А, вообще, если через LIMIT во вложенных запросах работает, а через TOP нет, можно им наверное багу отрепортить. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2016, 10:45 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=59&tid=2124362]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
146ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 455ms |

| 0 / 0 |
