|
|
|
Код возврата IBlob.GetSegment
|
|||
|---|---|---|---|
|
#18+
Есть такой код Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Передаю в него блоб размером 13585 байт и начинаю его читать буфером по 1000 байт. Вижу такой лог Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. С уважением, Vasilisk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2020, 17:47:38 |
|
||
|
Код возврата IBlob.GetSegment
|
|||
|---|---|---|---|
|
#18+
А вот лог для сегмента 256 байт Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2020, 17:55:12 |
|
||
|
Код возврата IBlob.GetSegment
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Это так и задумывалось или все таки баг? Так и задумывалось. RESULT_SEGMENT возвращается, когда сегмент блоба в твой буфер не влез. RESULT_OK - когда влез. Увеличь буфер до 64к и увидишь разницу. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2020, 17:59:13 |
|
||
|
Код возврата IBlob.GetSegment
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Так и задумывалось. RESULT_SEGMENT возвращается, когда сегмент блоба в твой буфер не влез. RESULT_OK - когда влез. Тогда здесь неправильный переводПоследний параметр в userFunctionAcceptingBlobData() — это флаг достижения конца сегмента — когда getSegment() возвращает код завершения RESULT_SEGMENT , о чём будет уведомлена функция (в последний параметр передан false), то есть этот сегмент прочитан не полностью, и продолжение ожидается при следующем вызове .Причем код выше соответствует фразеПоследний параметр в userFunctionAcceptingBlobData() — это флаг достижения конца сегмента ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2020, 18:20:58 |
|
||
|
Код возврата IBlob.GetSegment
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_неправильный перевод Нет, это-то как раз абсолютно правильный перевод. И фраза тоже правильная. RESULT_SEGMENT означает, что конец сегмента не достигнут, поскольку в буфер не влез. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2020, 18:28:00 |
|
||
|
Код возврата IBlob.GetSegment
|
|||
|---|---|---|---|
|
#18+
Виноват. Фразусегмент прочитан не полностьючитал как "данные прочитаны не полностью" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2020, 18:43:46 |
|
||
|
Код возврата IBlob.GetSegment
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Readed - серьёзно??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2020, 19:05:03 |
|
||
|
Код возврата IBlob.GetSegment
|
|||
|---|---|---|---|
|
#18+
kdvReaded - серьёзно??? Я тоже так обычно пишу, хотя и знаю, что это не по-английски. Но получить конфликт имён с библиотечной функцией - тот ещё геморрой в отладке. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2020, 19:07:25 |
|
||
|
Код возврата IBlob.GetSegment
|
|||
|---|---|---|---|
|
#18+
А вот еще вопрос. isc_info_blob_max_segment показывает, что размер сегмента блоба 256 байт. Читаю его буфером в 256 байт. В итоге мне в середине блоба (после чтения 54784 байт) попадается сегмент 255 байт. А потом идут сегменты опять по 256 байт Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Как это получается? Сам блоб формируется так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2020, 13:26:02 |
|
||
|
Код возврата IBlob.GetSegment
|
|||
|---|---|---|---|
|
#18+
Сегменты читаются так как записываются. Почему PSQL пишет такими мелкими сегментами - вопрос к разработчикам. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2020, 13:28:40 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=14&tid=1560338]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
29ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 323ms |

| 0 / 0 |
