|
|
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hi all Понадобилось тут утилитку одну сбацать, чтобы 1 раз в NN секунд вызывала isc_database_info() и логировала значения кумулятивных reads/writes/fetches/marks. Читаю ководство по JayBird'у 2.2.1 (более свежего нету) и не въеду что-то: где там вызов чего-то аналогичного ? Расписаны (в разделе 'Working with services') бекапы с ресторами, шатдаун, управление усерам и гстат. И - всё. И как тогда достукиваться до самой сокровенной инфы ? ЗЫ. Попробовал коннект с вызовом его getDatabaseStatistics() - это просто выброс gstat -r, не более. А другого по теме статистики что-то не вижу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2013, 23:46:56 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, я такое делал 14 лет назад http://www.ibase.ru/d_ibapi.htm см IB Monitor но насколько я помню, эта информация аккумулируется только для суперсервера. ТаблоидЧитаю ководство по JayBird'у 2.2.1 именно JayBird надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2013, 01:10:13 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
kdvТаблоидЧитаю ководство по JayBird'у 2.2.1 именно JayBird надо?мне всё равно, лишь бы через какой-нибудь jdbc туда достукаться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2013, 11:50:02 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
kdvсм IB MonitorПосмотрел. Он не рефрешит статистику и не пишет лог. Что есть жаль. ЗЫ. У меня именно SuperServer, мне как раз и надо "аккумуляторные" значения логировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2013, 11:58:03 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, насколько я помню - рефрешит. но в лог не пишет, мне это не было нужно. на Дельфи 7-2007 скомпилировать - 5 сек. на JayBird - ищи любые примеры использования isc_database_info ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2013, 17:25:25 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
kdv, нарыл я это: http://www.firebirdsql.org/file/documentation/drivers_documentation/java/2.2.3/docs/org/firebirdsql/jca/FBConnectionRequestInfo.html да только как объект его создать - не врубаюсь. там аргументом должен быть объект, реализующий интерфейс DatabaseParameterBuffer, а судя по этой же доке, елинственным классом, который его реализует, является сам FBConnectionRequestInfo. Замкнутый круг какой-то. У кого-нить есть пример юзания FBConnectionRequestInfo, для старта ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2013, 19:02:06 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Насколько я понял, FBConnectionRequestInfo это не то, что тебе нужно. Но попробуй получать dataSource.getConnectionRequestInfo(); Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2013, 21:54:17 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамНасколько я понял, FBConnectionRequestInfo это не то, что тебе нужно. Но попробуй получать dataSource.getConnectionRequestInfo(); попробовал, получаю не то, что нужно. Рытьё в доке привело к следующему. 1. В пакете org.firebirdsql.gds имеется междуморд с именем = 'GDS' (да, большими буквами). Насколько смог понять, для создания объекта, реализующего этот интерфейс, можно делать так: Код: sql 1. У интерфейса этого есть метод iscDatabaseInfo: сигнатура iscDatabaseInfo Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. При этом первый аргумент относится к IscDbHandle - это тоже интерфейс, вот он: http://www.firebirdsql.org/file/documentation/drivers_documentation/java/2.2.2/docs/org/firebirdsql/gds/IscDbHandle.html public interface IscDbHandle The interface isc_db_handle represents a socket connection to the database server.Однако, в общем списке-иерархии классов и междумордов JayBird'a я В УПОР НЕ ВИЖУ, какой класс реализаует IscDbHandle 2. В результате чтения второго примера из поставки jayBird'a, родилось что-то несуразное, делающее коннект к базе и даже что-то из-под неё достающее. Но застрял я именно на том, как подсунуть IscDbHandle - см в спойлере выделенный текст: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. Пните в нужную сторону: чё там подставить надо ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 01:28:04 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Я в упор вижу вот такое: http://www.firebirdsql.org/file/documentation/drivers_documentation/java/2.2.3/docs/org/firebirdsql/gds/GDS.html createIscDbHandle iscAttachDatabase iscDatabaseInfo iscDetachDatabase ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 01:38:20 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladЯ в упор вижу вот такоеЯ уже там был. Не взлетает ни хрена! Вот: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 02:14:20 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
"Уже лучше, но всё еще очень плохо" ((С) арм.) Запустил ФБ как SuperServer (в режиме приложения: fbserver -a), открыл isql, ввёл там "долгий тяжкий инсерт". Запускаю далее вот это, несколько раз: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. - а он выдаёт мне одни и те же значения счетчиков: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Нутром чую, что добыча где-то близко. Дайте заключительного пинка в сторону истины, плз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 09:47:34 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидЗапустил ФБ как SuperServer (в режиме приложения: fbserver -a) ты классик запустил, SuperServer это fbserver -a -m ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 10:01:28 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Таблоид Код: sql 1. 2. 3. 4. 5. Кто тебя учил так читать содержимое буфера ? Сам знаю, что никто Но если уж ты до констант докопался, то мог бы и прочитать в доке, как данные получить. Чти API Guide, p.52: Requesting buffer items and result buffer values ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 11:30:36 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
dimitrТаблоидЗапустил ФБ как SuperServer (в режиме приложения: fbserver -a) ты классик запустил, SuperServer это fbserver -a -mЕсли fbserver, то таки это SS 2.5 и ключ -a А вот если 3-ка, то firebird и ключи -a -m :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 11:31:47 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидЯ уже там был. Не взлетает ни хрена!Конечно ни хрена, аттачиться-то надо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 11:32:20 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvlad, упс :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 11:38:10 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladКто тебя учил так читать содержимое буфера ? Сам знаю, что никто Да, это я сам так научился. Ночером уже :-) hvladНо если уж ты до констант докопался, то мог бы и прочитать в доке, как данные получить. Чти API Guide, p.52: Requesting buffer items and result buffer valuesВидел этот пункт, но вчитываться было в лом. Подумкал, что с наскоку получится, по принципу 'by example' (там ниже пример есть). В общем, спс! Получилось. Работающий пример кода вытащу сюда попозжее, тут подшлифовать надо его. ВОПРОС, кстати! Какой размер буфера указывать-то ? Я тут поизгаляться слегка решил и указал ноль (dbstat=gdso.iscDatabaseInfo(dh, items, 0);) и... сервак положил: Код: plaintext 1. Сборка, правда, еще от 23.07.2013: WI-V2.5.3.26682 Firebird 2.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 16:46:37 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидКакой размер буфера указывать-то ? если ты берешь только ту информацию, про которую спрашиваешь, то можешь взять с избытком в 1.5-2 раза. При получении database_info если информация в заданный буфер не влазит, то возвращается ошибка, и нужно переаллокировать буфер большего размера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 17:04:58 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
kdvесли информация в заданный буфер не влазит, то возвращается ошибка, и нужно переаллокировать буфер большего размера.ну, вот я ему буфер нулевого размера выслал, он и скрючился. Происходит это, КМК, только когда кроме моего jaybird-коннекта к базе (или вообще к этому хосту ?) больше ничего не приаттачено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 17:13:04 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, буфер нулевого размера - это совсем из ряда вон :-) Поскольку JayBird сам шлет данные в ФБ, без "клиента", то либо он виноват, либо в ФБ нет "защиты" от дурацких параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 17:24:16 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидКакой размер буфера указывать-то ?Ну ты доку прочитал ? 1+2+4 сложить можешь ? А 1+2+8 ? А на N умножить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 17:42:37 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladТаблоидКакой размер буфера указывать-то ?Ну ты доку прочитал ? 1+2+4 сложить можешь ? А 1+2+8 ? А на N умножить ?Читал, только удивился зело: неудобно же! подсчитывать число параметров, думать про их размер и складывать это всё, чтобы в память влезло... %-) Трудно им было ArrayList(Byte) сбацать, что ле... Ну да ладно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 17:54:51 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Так. В общем, коряво, но влзетело: JayBird: isc_database_info() usage sample Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. В нём жестко прошита база, порт, усер+пароль и интервал опроса (5 сек). Запустил я его с логированием: Код: plaintext И вижу, товарисчи, форменный бред. Как на СуперСервере для базы, в которую сейчас 200 isql-молотилок лупят инсерты, могут быть вот такие напопительные счётчики (полный лог - в аттаче): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. PS. Изменённые параметры конфига: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 18:07:30 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
гы... приятная штука, java эта: скопировал .jar + сырец на линух, заменил разделитель ";" на ":" - и вперёд, с песней. Никаких танцев с разрядностью, совместимостью и прочей хренотой :-) Вот только счетчики всё равно бредят %-/ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 18:32:24 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Таблоид И вижу, товарисчи, форменный бред. Ну, как написал, то и видишь :) Читай документацию. Глазами. Внимательно. Там пример есть. Ошибка сразу после тела switch ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 18:35:46 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, я думал ты мой пример на паскале посмотришь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 18:38:20 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladОшибка сразу после тела switchТочнее, в тут Код: sql 1. где ты эту 2-ку нашёл и для чего ты перед этим len вычислял ? Копипастер :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 18:38:30 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
kdv, впрочем, мой пример тоже крив, поскольку я точно знаю длину значений для конкретных параметров, и не использую длину параметра. И еще, по уму, якобы нужно учитывать с какой архитектуры процессора идут integer (если integer). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 18:43:34 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
kdvИ еще, по уму, якобы нужно учитывать с какой архитектуры процессора идут integer (если integer).Не нужно, для этого есть isc_vax_integer ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 18:46:00 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvlad, я ее имел в виду, в коде Таблоида проглядел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 18:49:17 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladдля этого есть isc_vax_integer Который obsolete и заменён на isc_portable_integer(). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 18:49:27 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladhvladОшибка сразу после тела switchТочнее, в тут Код: sql 1. где ты эту 2-ку нашёл и для чего ты перед этим len вычислял ? Копипастер :)блин, точно! копипаст с верхнего вызова :( Влад, спасибо в очередной раз! Версия 1.0.1, исправленная: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 19:04:11 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovhvladдля этого есть isc_vax_integer Который obsolete и заменён на isc_portable_integer().Насчёт obsolete я бы поспорил: Ищем раз: Код: sql 1. 2. 3. Ищем два: Код: sql 1. 2. 3. Но пользоваться, конечно, лучше isc_portable_integer, ибо только он может работать с 8-ми байтными числами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 19:05:11 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladНо пользоваться, конечно, лучше isc_portable_integer, ибо только он может работать с 8-ми байтными числами Которыми эти счётчики, по идее, и должны бы являться. Во избежание переполнения. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 19:08:13 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
kdvя думал ты мой пример на паскале посмотришь...зачем ? я в нём всё равно ничего не пойму %-) Да и многословный он, паскаль этот: begin ... end - что, нельзя было "{" и "}", как в си ? ЗЫ. "круче" него только html: чтобы затолкать фразу в комментарий, надо вбить семь символов, причем три из них - с нажатым Shift'ом: <!-- тратата --> Это ж каким ботаником надо было быть, чтобы придумать такое.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 19:12:54 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovКоторыми эти счётчики, по идее, и должны бы являться. Во избежание переполнения.ога... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 19:15:35 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladпользоваться, конечно, лучше isc_portable_integer, ибо только он может работать с 8-ми байтными числамия не вижу этой функции (ни в сырцах JayBird'а , ни в доке - нигде). Это так и должно быть ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 19:21:19 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, наверное не должно, т.к. в ibase.h она есть, рядом с vax. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 19:24:15 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, APIGuide, p.379 Насчёт JayBird - пиши трекеру или в саппорт лист, думаю Марк быстро её добавит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 19:26:40 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladAPIGuide, p.379А что там относящегося к isc_portable_integer ? (см скрин в аттаче) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 19:36:46 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladНасчёт JayBird - пиши трекеру или в саппорт лист, думаю Марк быстро её добавит.Напишу, наверное. BTW: а Роман Рокитский - он тоже ведёт разработку или уже нет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 19:38:42 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, понятия не имею, в куда ты смотришь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 19:39:48 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидРоман Рокитский - он тоже ведёт разработку или уже нет ?Он передал свои полномочия Марку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 19:40:30 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladпонятия не имею, в куда ты смотришья смотрю в "APIGuide, p.379" - как ты и написал выше. Что там относится к обсуждаемым тут вопросам ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 20:06:10 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Таблоидя смотрю в "APIGuide, К какой версии у тебя гайд и откуда ты его взял? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 20:11:06 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovК какой версии у тебя гайд и откуда ты его взял?как это "какой" и "откуда" ?... ОТТУДА! Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 20:27:07 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Версия 1.0.1.1: убрал нахрен switch (заменил поиском в hashmap'e, чтобы поуниверсальнее было), а также добавил главное: вывод РАЗНОСТЕЙ значений счетчиков: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Дальше надо будет наворачивать плюшки: добавить реакцию на входные аргументы (имя хоста/номер_порта/путь_к_базе, время задержки между замерами etc). .java-файлик - в аттаче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 21:43:30 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladпиши трекеру или в саппорт лист, думаю Марк быстро её добавит. Запулил . Будем подождать, что скажет пистолет Шона Коннери. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 21:59:09 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, с чего ты взял, что оно имеет отношение к services api ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 22:24:36 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladс чего ты взял, что оно имеет отношение к services api ?Ну, померещилось вот.... что-то... :-[ А к чему еще-то ? %-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 22:28:30 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидА к чему еще-то ?А что ещё ты знаешь ? А в каком разделе API Guide ты видел isc_database_info ? А isc_vax _integer ? А накой писать абы шо в приличном месте ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 22:36:39 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидDimitry SibiryakovК какой версии у тебя гайд и откуда ты его взял?как это "какой" и "откуда" ?... ОТТУДА! Код: plaintext Ибо у всех, кому надо, есть другая муйня от 2001 года :) Под тем же названием. И не спрашивай, где я её взял - не знаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 22:39:43 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladТаблоидА к чему еще-то ?А что ещё ты знаешь ? А в каком разделе API Guide ты видел isc_database_info ? А isc_vax _integer ? А накой писать абы шо в приличном месте ? :)ну... увидел в названии пдфника:*API* - и там, в трекере, список выбора тоже знакомые буквы содержал в одном из пунктов... я и ткнул... :-[ А чего ты про трекер так переживаешь ? Он же всё стерпит, да и Шон там начеку, особливо по мою душу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 22:40:17 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидА чего ты про трекер так переживаешь ?Мне за тебя перед ним стыдно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 22:41:29 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladИбо у всех, кому надо, есть другая муйня от 2001 года :) Под тем же названием. И не спрашивай, где я её взял - не знаю...а вышли, плз, в личку, ы ? я так думаю, что пока kdv там обновит у себя, время какое-то совсем ненулевое пройдёт... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 22:41:55 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 22:43:20 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladТаблоидА чего ты про трекер так переживаешь ?Мне за тебя перед ним стыдно...У мну с аглицким плохо, а точнее - беда. Поэтому пишу туда на крымско-татарском, только в латинницу перевожу. А Шон всё расставляет на свои места ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 22:45:13 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисТаблоид, http://www.ibphoenix.com/files/60ApiGuide.zip Хотя это тоже 1999 года. А вообще если есть более свежая дока то почему она не выложена на официальном сайте FB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 22:46:52 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Симонов Денис http://www.ibphoenix.com/files/60ApiGuide.zip дык спасибо, но... там тоже самое, хит-1999: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 22:48:14 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
0xFF. я забыл что-то... или же новая java-мерялка опять врёт... откудова могут быть в insert_only-тесте сумасшедшие фетчи: 11.4 млн против 5..15 тыс "марок", интервал замеров = 5 сек (число молотилок = 200, каждая делает в среднем 55 вставок): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. - ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 22:57:39 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисА вообще если есть более свежая дока то почему она не выложена на официальном сайте FB? Потому что эта более свежая - частная собственность компании Эмбаркадеро и лежать на чужом сайте ей впадлу. С другой стороны, с сайта самого Эмбаркадера её можно скачать без особых проблем. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2013, 23:27:59 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Таблоидя так думаю, что пока kdv там обновит у себя см. ниже. ТаблоидЭто какая-то муйня (c) kdv 1999 года, наверняка от пре-релиза ib6 Ибо у всех, кому надо, есть другая муйня от 2001 года :) Под тем же названием. И не спрашивай, где я её взял - не знаю... муйня от 1999 является единственным вариантом доки, который раздавался невозбранно. Вся остальная дока на InterBase принадлежит дистрибутиву InterBase, который без проблем скачивается с embarcadero.com. У меня на компе есть установленные 7.1, 7.5, 2007, 2009, XE, XE3, и во всех есть дока, но это не значит, что я имею право ее выкладывать к себе на сайт. isc_portable_integer я вижу в доке от 7.1. От платных 6.0 или 6.5 я себе доку не ставил. Рядом с упоминанием доки от бесплатной IB 6.0 могу разве что воткнуть на свободно лежащую доку от более свежих версий. http://docs.embarcadero.com/products/interbase/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2013, 01:40:06 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
кстати, у меня там и дока по ИБ 6.5 есть. в ней уже isc_portable_integer есть. частично раздел переделал, могу вообще доку по 6.0 слить в один файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2013, 01:44:24 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
kdvкстати, у меня там и дока по ИБ 6.5 есть. в ней уже isc_portable_integer есть.Нашёл, псип. Поменяй, плз, название зипа: http://www.ibase.ru/v6/ib65_docs_for_delphi.zip - там (внутри архива) на самом деле нет ничего внутри папки ib65_docs_for_delphi, зато в остальных всё пучком :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2013, 09:02:43 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидПоменяй, плз, название зипа: http://www.ibase.ru/v6/ib65_docs_for_delphi.zip - там (внутри архива) на самом деле нет ничего внутри папки зачем мне его менять, если он так и назывался? Это файл из апдейта Delphi 7. Каким он был, таким я его и выложил. А zip мне перепаковывать нечем, у меня винзип не куплен :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2013, 10:52:48 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
kdvА zip мне перепаковывать нечем, у меня винзип не куплен :-)7z GPL и паковать в зип умеет, и глупого ограничения в виде приставки "вин" не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2013, 11:45:10 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
kdvА zip мне перепаковывать нечем, у меня винзип не куплен :-)А купленная винда XP или выше еззь? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2013, 12:23:45 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
EsperitoА купленная винда XP или выше еззь? :-) есть, я забыл что вин7 сама в зип может паковать. Тем не менее, архив оригинальный, менять не буду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2013, 12:30:59 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
"Продолжаем углублять реформы" ((С) Черномырдин ?) Настал черёд получать счетчики, объединённых под общим названием "Database operation counts" (IR, NIR, inserts et al). Согласно API Guide, 2001-го года, странице 56: стр. 56 Database operation counts Several information items are provided for determining the number of various database operations performed by the currently attached calling program. These values are calculated on a per-table basis . When any of these information items is requested, InterBase returns to the result buffer: * 1 byte specifying the item type (for example, isc_info_insert_count). * 2 bytes telling how many bytes compose the subsequent value pairs. * A pair of values for each table in the database on which the requested type of operation has occurred since the database was last attached. Each pair consists of: * 2 bytes specifying the table ID. * 4 bytes listing the number of operations (for example, inserts) done on that table. To determine an actual table name from a table ID, query the system table, RDB$RELATION я решил сразу затолкать пары {relation_id, relation_name} в мап-структуру, чтобы не заморачиваться с вытаскиванием имени таблицы по её ИДшнику. И заполняю этот мап вот так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. И далее, получая ИДшник таблицы в первых двух байтах , лезу в мап за её именем. Ну так вот: проблема в том, что статистика счетчиков операций показывается только по двум таблицам: RDB$RELATIONS и RDB$DATABASE . Несмотря на то, что в другом окошке интенсивно прёт селект из 100500 млн строк с других таблиц:-( Более того, з начения счетчиков по этим двум таблицам равны всё время единице. В нижеприведенном коде явно трабл в куске, выделенном цветом. Но понять, чего там не так, я не смог. Хелп, плз, кто тут силён API Guid'e! (ну, а в java-коде - верю, все сильны :)) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2013, 21:59:10 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, по-моему ты ерундой занимаешься. Возьми ОДНУ таблицу, получи буфер под свои запрошенные счетчики, и посмотри на БАЙТЫ в соответствии с возвращаемыми данными, что и где. Разберись, как идут параметры, номер таблицы, счетчики и прочее. Потом возьми ДВЕ таблицы, проделай то же самое. Потом, на основании полученной информации, будешь уже писать код и выводить его в правильном порядке. Причем, все это надо было бы делать в монопольном режиме, а не в молотилке. Хотя, при молотилке можно было бы снять буфер два раза, и найти "статические" байты при двух снимках буфера за разное время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2013, 22:11:55 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
kdvВозьми ОДНУ таблицу, получи буфер под свои запрошенные счетчики, и посмотри на БАЙТЫ в соответствии с возвращаемыми данными, что и где. Вот вызов: iscDatabaseInfo(dh, items, buf_total) - как ему указать вернуть данные только для ОДНОЙ (той, что я выбрал) таблицы ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2013, 10:03:40 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
Таблоидкак ему указать вернуть данные только для ОДНОЙ (той, что я выбрал) таблицы ? никак, он всегда возвращает счетчики для всех таблиц (с которыми была данная операция) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2013, 10:14:43 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
похоже, у нас в 2.5 и выше бага с возвратом больших счетчиков через isc_database_info :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2013, 10:29:50 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
dimitrпохоже, у нас в 2.5 и выше бага с возвратом больших счетчиков через isc_database_info :-(Не понял я что-то. Как значения счетчиков получает, например, трейс - не через isc_database_info ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2013, 13:13:46 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидВ нижеприведенном коде явно трабл в куске, выделенном цветом. Но понять, чего там не так, я не смог.Там сплошной трабл. Писать код за тебя я не буду, скажу только, что для потабличных счётчиков (которые ты обозвал CounterType.DBOP) верно следующее: а) указывается суммарная длина последующего массива пар {rel_id, value}, т.е. чтобы понять сколько элементов в массиве, нужно разделить её на 6 б) эти счётчики не являются суммарными для всех коннектов и накапливаются только для текущего коннекта (независимо от SS\CS\SC) в) в 2.5 эти счётчики 4-х байтные, поэтому могут переполняться (теоритически, на практике - нужно оооочень постараться, ибо см. (б)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2013, 14:30:19 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидКак значения счетчиков получает, например, трейс - не через isc_database_info ?Он их берёт из того же места, но без участия isc_database_info ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2013, 14:33:38 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladТаблоидВ нижеприведенном коде явно трабл в куске, выделенном цветом. Но понять, чего там не так, я не смог.Там сплошной трабл. Писать код за тебя я не буду, скажу только, что для потабличных счётчиков (которые ты обозвал CounterType.DBOP) верно следующее: а) указывается суммарная длина последующего массива пар {rel_id, value}, т.е. чтобы понять сколько элементов в массиве, нужно разделить её на 6 б) эти счётчики не являются суммарными для всех коннектов и накапливаются только для текущего коннекта (независимо от SS\CS\SC) в) в 2.5 эти счётчики 4-х байтные, поэтому могут переполняться (теоритически, на практике - нужно оооочень постараться, ибо см. (б))псип, буду дальше ковырять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2013, 15:35:26 |
|
||
|
JayBird 2.2.3: как им вызвать аналог isc_database_info() ?
|
|||
|---|---|---|---|
|
#18+
hvladб) эти счётчики не являются суммарными для всех коннектов и накапливаются только для текущего коннекта (независимо от SS\CS\SC)&@#%@$&@%! Где были мои глаза, когда я читал вчера еще:API Guide, page 56 >> Database operation counts Several information items are provided for determining the number of various database operations performed by the currently attached calling program. These values are calculated on a per-table basis. И тогда... накой хрен они мне такие ?! я же мониторить собрался за другими коннектами, а не за собой... В общем, что получается: отмониторить изменения этих счетчиков от деяний других аттачей низкоуровневыми средствами - фиг ? только трейс или мониторинг запускать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2013, 16:08:30 |
|
||
|
|

start [/forum/topic.php?all=1&fid=40&tid=1564071]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
104ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 415ms |

| 0 / 0 |
