Dmitry
30.03.2016
17:55:06
да если бы я это когда то делал еще...
Dmytro
30.03.2016
17:58:18
https://github.com/xdenser/node-firebird-libfbclient/blob/master/fb/include/ibase.h
попробуй это
Dmitry
30.03.2016
17:59:55
D:\Project\2016>htod.exe ibase.h
Fatal error: unable to open input file 'stddef.h'
Google
Dmytro
30.03.2016
18:00:48
так надо поставить наверно либо студию либо еще что-то чтоб нашло нужные типы
Dmitry
30.03.2016
18:01:26
ему потом нужные файлы так же в качестве параметров скармливать?
Dmytro
30.03.2016
18:57:25
| 1 | rust/wordcount/wordcount | 0.06 | 0.06 | 7052 | Joshua Holmer |
| 2 | cpp/wordcount | 0.11 | 0.1 | 5700 | Dmitry Andreev, Matias Fontanini, Judit Acs |
| 3 | c/wordcount | 0.11 | 0.1 | 3320 | gaebor |
| 4 | cpp/wordcount_clang | 0.16 | 0.16 | 5804 | |
| 5 | go/bin/wordcount | 0.18 | 0.17 | 4884 | David Siklosi |
| 6 | python/wordcount_py2.py | 0.2 | 0.18 | 12064 | Judit Acs |
| 7 | d/wordcount | 0.31 | 0.3 | 5920 | Pavel Chebotarev |
| 8 | php7.0 php/wordcount.php | 0.35 | 0.18 | 18456 | Braun Patrik |
у меня ди вообще на 7
но это маленький кусок текста
Dmitry
31.03.2016
07:25:24
В пакете https://github.com/adamdruppe/arsd/blob/master/mssql.d
есть строки:
import win32.sql;
import win32.sqlext;
вопрос. Откуда эти импорты брать?
так, вот если тут написано, что оно ODBC умеет и FireBird ODBC то получается эно должно будет заработать с FireBird? https://code.dlang.org/packages/dstddb
Pavel
31.03.2016
10:25:48
Да только в теории
На практике ты рискуешь нарваться на 100500 багов и незадекларированного загадочного поведения, провести сотни увлекательных часов в дебаге, и в итоге добиться минимальных результатов.
Поэтому бери PHP и не парься :D
Dmitry
31.03.2016
10:27:11
да как мне PHP то с компа на комп таскать?
Pavel
31.03.2016
10:27:23
а
А Firebird это неубираемое требование, или ты сам выбрал такую базу?
Google
Dmitry
31.03.2016
10:29:21
неубиваемое :(
Pavel
31.03.2016
10:32:27
Ну я даже думаю что в C/C++ ситуация с драйвером ненаного лучше
Dmitry
31.03.2016
10:33:08
Мне от этого не легче — я их вообще не знаю
Pavel
31.03.2016
10:33:29
http://www.firebirdsql.org/en/odbc-driver/ а ну вот тут можно скачать по идее
Dmitry
31.03.2016
10:34:26
в чем суть этого ODBC вообще? Его настраивать надо в самой системе?
0x9d8e
31.03.2016
10:39:11
Может огнептица умеет локальный порт слушать? Тогда можно будет просто интерфейс к нему написать.
Dmitry
31.03.2016
10:39:41
вроде бы умеет, но мне файловая версия нужна
Буф... короче у меня даже Постгрес не работает
через ddbc
пишет: Unknown parameter of configuration : "autocommit"
в файле: pgsqlddbc.d
Я что-то не понял, оно меня послало чтоли?
Так, короче у меня получилось из FireBird простой Select сделать используя https://github.com/adamdruppe/arsd/
драйвер mssql тоже через odbc работает и он и заработал
хз правда дальше какие проблемы вылезут, но уже лучше чем ничего
Pavel
02.04.2016
17:12:36
Посоны
джава версия уделала d и cpp
Это прямо вызов
Хотя если посмотреть на их "оптимизированный" исходник, то хочется рыдать. И вырывать себе глаза.
Dmitry
02.04.2016
17:16:27
аааа
Google
Dmitry
02.04.2016
17:16:29
жееесть
Alex
03.04.2016
14:12:17
а чо раст такой крутой
и у него тоже ничо нет
ни нормальной иде
ни нормального гуя
ни крупных проектов??
Max
03.04.2016
14:13:29
Есть крупный проект - servo, остальное уже благодаря пеару
[Anonymous]
03.04.2016
15:46:41
У rust дела идут по лучше чем у D, как по мне
Pavel
03.04.2016
16:41:18
Dmitry
04.04.2016
18:35:19
А как для Date сделать сдвиг на основании временной зоны? Просто как я понимаю это только для текущего времени можно, а не для даты
Just
04.04.2016
18:40:01
добавить сдвиг, может дата автоматически изменится. тестируй
Dmitry
05.04.2016
07:55:45
кто нить для Postgres ddbc использует?
А то о у меня выпадает и не могу понять в чем причина
Pavel
05.04.2016
09:06:03
Походу никто :( А что пишет?
И ты же firebird хотел использовать?
Dmitry
05.04.2016
09:19:13
Мне две БД нужно. Точнее даже три
FireBird, PG и SQLLIte
FireBird вроде заработал, но вот с PG беда просто. Драйвера вроде есть, но ни один не завелся
Pavel
05.04.2016
09:35:02
Кстати, в pg есть крутая штука под названием foreign data wrappers
Dmitry
05.04.2016
09:35:14
это что?
Google
Pavel
05.04.2016
09:35:34
Ты можешь из постгреса прямо ходить в базу sqlite и делать туда запросы
Возможно для firebird естб адаптер тоже
Dmitry
05.04.2016
09:39:39
О, круто
это драйвер должен уметь?
Pavel
05.04.2016
09:40:48
Не, это ставится как расширение к самому pg
А ты в итоге работаешь как с обычной pg таблицей
То есть тебе достаточно только нормально работающего драйвера pg
Dmitry
05.04.2016
13:18:30
так, оказалось что с нормально работающим беда
кое как ddbc смог заставить работать
вопрос, я что-то затупил.
`
struct MyData
{
string [] guid;
string [] id;
string [] name;
string [] fl;
}
MyData mydata;
как мне в fщreach стрeктуру перебрать?
0x9d8e
05.04.2016
13:21:33
Разве по структурам можно?
Pavel
05.04.2016
13:22:00
А в чем смысл перебирать структуру? редполагается что ты и так знаешь ее поля
0x9d8e
05.04.2016
13:22:15
Тем более у этих полей разные типы могут быть
Pavel
05.04.2016
13:22:19
иначе это не структура, а массив список и т.д.
Dmitry
05.04.2016
13:23:08
я просто хотел что-то навроде:
foreach (x;mydata)
{
writeln(x.guid);
}
Pavel
05.04.2016
13:23:30
напиши 4 writeln
http://stackoverflow.com/questions/34009661/iterate-over-dlang-struct
Dmitry
05.04.2016
13:30:53
Во кажется foreach (x;mydata.tupleof) то что надо. Только вот не могли бы про onApply пояснить, я понял, что это перегрузка, но не очень идею подсекаю как оно работает
Покритикуйте плиз код.
http://www.everfall.com/paste/id.php?sv6qes0l91t5
На выходе я получаю массив структур с данными. Как-то можно это было лучше сделать?
Google
Dmitry
05.04.2016
14:11:38
ну и допустим эти данные в другую БД буду передавать. Предварительно обработав (к примеру кодировку строк изменив)
Pavel
05.04.2016
15:40:38
1) Непонятно зачем ты кастуешь guid::text к тексту
2) Схема public по умолчанию используется, так что ее в запросе можно не писать
3) md.guid = to!string(rs.getString(1)); - ты кастуешь строку в строку?
4) Метод rs.getString() странный. Там нету именованных колонок?
Dmitry
05.04.2016
17:52:00
А, пасибо, а с точки зрения логики кода? В плане что я в начале создаю массив структур с данными, а не тупо молочу все в цикле while ?
Плюсы/минусы какие?
Pavel
05.04.2016
18:09:28
Хз, операция ~= копирует структуру или добавляет ссылку на нее? Если последнее, то в итоге ты получишь в массиве N одинаковых структур, в каждой результат последней row из выборки
Dmitry
05.04.2016
18:14:24
ты про: mydata ~= md; ?
Pavel
05.04.2016
18:16:05
да
Dmitry
05.04.2016
18:18:20
Честно пусть лучше кто-то из более компетентных подскажет. По идее ссылка, но я очень не уверен. Ты иммешь ввиду ситуацию когда двойное копирование происходит?
Pavel
05.04.2016
18:19:09
Я имею в виду что ты в цикле добавляешь в массив ссылку на одну и ту же структуру md много раз.
А содержимое этой структуры постоянно меняешь.
Нечего подсказывать, возьми да напиши проверяющий код ;)
Заполни цикл несколькими записями и задампи этот массив - сразу видно будет как оно работает.
Dmitry
06.04.2016
07:40:55
на каждой итерации его в файл записать?
Pavel
06.04.2016
09:39:29
Сделать вывод на экран
Dmitry
06.04.2016
09:48:54
так. Ну вот сделал:
while (rs.next())
{
//writeln(to!string(rs.getString(1)) ~ "\t" ~ rs.getString(2) ~ "\t" ~ "\t" ~ rs.getString(3));
md.guid = to!string(rs.getString(1));
md.id = to!string(rs.getString(2));
md.name = to!string(rs.getString(3));
md.fl = to!string(rs.getString(4));
writeln(md.guid);
writeln(md.id);
writeln(md.name);
readln;
mydata ~= md;
}
при каждом шаге у меня данные выводятся
потом сделал:
foreach(m;mydata)
{
writeln(m);
writeln();
readln;
}
Ну как и ожидалось — каждый раз выводится по строке с данными
типа:
MyData("621fc39e-ab11-508e-0947-7ec02084defd", "5", "Vasya", "")
Pavel
06.04.2016
10:19:40
Строки одинаковые?
0x9d8e
06.04.2016
10:23:08
Структуры по-моему обычно по значениям работают, а не по ссылкам, так что норм должно же быть
Dmitry
06.04.2016
10:25:43
ну строки разные — в каждый раз новые в зависимости от данных
ну ок значит все норм