April 10, 2013
On Wednesday, 10 April 2013 at 10:35:44 UTC, David wrote:
> Am 10.04.2013 12:26, schrieb Vadim Lopatin:
>> On Wednesday, 10 April 2013 at 08:59:07 UTC, David wrote:
>>> Am 09.04.2013 08:27, schrieb Suliman:
>>>>> At the same time, it's good to have some competition and alternative
>>>>> choices.
>>>>
>>>> It's not problem to have 2 realization. Base and alternative. To
>>>> have one base realization is always good for thous who need to be
>>>> sure that it would not be abandoned.
>>> I am looking forward to the date libphobos.a has 1GB in size and takes 5
>>> hours to compile
>> 
>> std.* may include only interfaces, e.g. like in java.sql package.
>> Implementations not necessary in std. Can be third party libraries (e.g.
>> like java JDBC drivers). But standard interfaces give benefits.
> So if the std. implementation has a PITA api, all other (probably better
> approaches) are forced (forced because the user expects an api like this
> and will probably reject something better but with a different api) to
> use the same PITA api? This isn't a problem with low-level stuff, but it
> is something completly different with something as high-level as an ORM.
> Also an api change in the std. implementation forces *every* 3rd party
> module to be updated, which is insane, what about a 3 year old
> implementation which is basically done, everyone considers it stable,
> now the std. implementation makes a small change, thousands of project
> will stop working. This isn't a too big problem if the 3 year old
> implementation is still activly develeoped, but if it isn't ...

I cannot find information about PITA. What is it? Is it included into Phobos?
April 10, 2013
On Wednesday, 10 April 2013 at 11:04:27 UTC, Vadim Lopatin wrote:
> On Wednesday, 10 April 2013 at 10:35:44 UTC, David wrote:
>> Am 10.04.2013 12:26, schrieb Vadim Lopatin:
>>> On Wednesday, 10 April 2013 at 08:59:07 UTC, David wrote:
>>>> Am 09.04.2013 08:27, schrieb Suliman:
>>>>>> At the same time, it's good to have some competition and alternative
>>>>>> choices.
>>>>>
>>>>> It's not problem to have 2 realization. Base and alternative. To
>>>>> have one base realization is always good for thous who need to be
>>>>> sure that it would not be abandoned.
>>>> I am looking forward to the date libphobos.a has 1GB in size and takes 5
>>>> hours to compile
>>> 
>>> std.* may include only interfaces, e.g. like in java.sql package.
>>> Implementations not necessary in std. Can be third party libraries (e.g.
>>> like java JDBC drivers). But standard interfaces give benefits.
>> So if the std. implementation has a PITA api, all other (probably better
>> approaches) are forced (forced because the user expects an api like this
>> and will probably reject something better but with a different api) to
>> use the same PITA api? This isn't a problem with low-level stuff, but it
>> is something completly different with something as high-level as an ORM.
>> Also an api change in the std. implementation forces *every* 3rd party
>> module to be updated, which is insane, what about a 3 year old
>> implementation which is basically done, everyone considers it stable,
>> now the std. implementation makes a small change, thousands of project
>> will stop working. This isn't a too big problem if the 3 year old
>> implementation is still activly develeoped, but if it isn't ...
>
> I cannot find information about PITA. What is it? Is it included into Phobos?

OOPS. Found it in Urban Dictionary :)
April 10, 2013
Am 10.04.2013 13:06, schrieb Vadim Lopatin:
> On Wednesday, 10 April 2013 at 11:04:27 UTC, Vadim Lopatin wrote:
>> On Wednesday, 10 April 2013 at 10:35:44 UTC, David wrote:
>>> Am 10.04.2013 12:26, schrieb Vadim Lopatin:
>>>> On Wednesday, 10 April 2013 at 08:59:07 UTC, David wrote:
>>>>> Am 09.04.2013 08:27, schrieb Suliman:
>>>>>>> At the same time, it's good to have some competition and alternative choices.
>>>>>>
>>>>>> It's not problem to have 2 realization. Base and alternative. To have one base realization is always good for thous who need to be sure that it would not be abandoned.
>>>>> I am looking forward to the date libphobos.a has 1GB in size and
>>>>> takes 5
>>>>> hours to compile
>>>>
>>>> std.* may include only interfaces, e.g. like in java.sql package.
>>>> Implementations not necessary in std. Can be third party libraries
>>>> (e.g.
>>>> like java JDBC drivers). But standard interfaces give benefits.
>>> So if the std. implementation has a PITA api, all other (probably better approaches) are forced (forced because the user expects an api like this and will probably reject something better but with a different api) to use the same PITA api? This isn't a problem with low-level stuff, but it is something completly different with something as high-level as an ORM. Also an api change in the std. implementation forces *every* 3rd party module to be updated, which is insane, what about a 3 year old implementation which is basically done, everyone considers it stable, now the std. implementation makes a small change, thousands of project will stop working. This isn't a too big problem if the 3 year old implementation is still activly develeoped, but if it isn't ...
>>
>> I cannot find information about PITA. What is it? Is it included into Phobos?
> 
> OOPS. Found it in Urban Dictionary :)
Hehe :)
April 10, 2013
On Wednesday, 3 April 2013 at 14:28:37 UTC, Vadim Lopatin wrote:
> Hello!
>
> I've started implemetation of ORM in D, with annotations and interfaces similar to Hibernate.
>
> As DB abstraction layer I wrote DDBC - library with interface similar to JDBC. Only MySQL driver is implemented. PostgreSQL - in progress.
>
> Project is hosted on SourceForge: https://sourceforge.net/p/hibernated/wiki/HibernateD/ License is Boost
>
> Look at project wiki and unittests for more info.

DDBC/HibernateD Project status update
=====================================

SQLite support added into both DDBC and HibernateD.
Use version identifier(s) USE_MYSQL, USE_SQLITE to enable corresponding DBs.
Both SQLite and MySQL pass HibernateD unit tests.

PostgreSQL support implementation is in progress.
April 12, 2013
On Wednesday, 3 April 2013 at 14:28:37 UTC, Vadim Lopatin wrote:
> Hello!
>
> I've started implemetation of ORM in D, with annotations and interfaces similar to Hibernate.
>
> As DB abstraction layer I wrote DDBC - library with interface similar to JDBC. Only MySQL driver is implemented. PostgreSQL - in progress.
>
> Project is hosted on SourceForge: https://sourceforge.net/p/hibernated/wiki/HibernateD/ License is Boost
>
...
> Look at project wiki and unittests for more info.



Project status update:
PostgreSQL support is added to DDBC and HibernateD.

Does anyone have an idea what to do next?
April 12, 2013
:) nuodb.

On Fri, Apr 12, 2013 at 9:08 AM, Vadim Lopatin <coolreader.org@gmail.com>wrote:

> On Wednesday, 3 April 2013 at 14:28:37 UTC, Vadim Lopatin wrote:
>
>> Hello!
>>
>> I've started implemetation of ORM in D, with annotations and interfaces similar to Hibernate.
>>
>> As DB abstraction layer I wrote DDBC - library with interface similar to JDBC. Only MySQL driver is implemented. PostgreSQL - in progress.
>>
>> Project is hosted on SourceForge: https://sourceforge.net/p/** hibernated/wiki/HibernateD/<https://sourceforge.net/p/hibernated/wiki/HibernateD/>License is Boost
>>
>>  ...
>
>  Look at project wiki and unittests for more info.
>>
>
>
>
> Project status update:
> PostgreSQL support is added to DDBC and HibernateD.
>
> Does anyone have an idea what to do next?
>


April 12, 2013
Hi Vadim,

> Does anyone have an idea what to do next?

It would be great if you publish the DUB package.
Please refer to http://registry.vibed.org/publish.

There is a hint.
Page http://registry.vibed.org/ lists registered DUB packages. To see them you have to register and sign in there. Otherwise, you will see some product info page.
April 12, 2013
> There is a hint.
> Page http://registry.vibed.org/ lists registered DUB packages. To see them you have to register and sign in there. Otherwise, you will see some product info page.

Oops. It looks fixed. :-)
April 12, 2013
On Friday, 12 April 2013 at 09:03:56 UTC, kdmult wrote:
> Hi Vadim,
>
>> Does anyone have an idea what to do next?
>
> It would be great if you publish the DUB package.
> Please refer to http://registry.vibed.org/publish.
>
> There is a hint.
> Page http://registry.vibed.org/ lists registered DUB packages. To see them you have to register and sign in there. Otherwise, you will see some product info page.

Trying to package DDBC.

https://github.com/buggins/ddbc

dub build fails.
It looks like it tries to build application instead of library, although I specified "targetType": "staticLibrary",


Checking dependencies in '/home/lve/src/ddbc'
Building configuration "MySQL", build type debug
Running dmd (compile)...
Linking...
/usr/lib/x86_64-linux-gnu/libphobos2.a(dmain2_47f_1a5.o): In function `main':
src/rt/dmain2.d:(.text.main+0xa): undefined reference to `_Dmain'
/usr/lib/x86_64-linux-gnu/libphobos2.a(thread_1a1_1b8.o): In function `_D4core6thread6Thread6__ctorMFZC4core6thread6Thread':
src/core/thread.d:(.text._D4core6thread6Thread6__ctorMFZC4core6thread6Thread+0x26): undefined reference to `_tlsend'
src/core/thread.d:(.text._D4core6thread6Thread6__ctorMFZC4core6thread6Thread+0x31): undefined reference to `_tlsstart'
/usr/lib/x86_64-linux-gnu/libphobos2.a(deh2_45f_525.o): In function `_D2rt4deh213__eh_finddataFPvZPS2rt4deh29FuncTable':
....
src/core/thread.d:(.text.thread_entryPoint+0xb0): undefined reference to `_tlsstart'
collect2: error: ld returned 1 exit status
--- errorlevel 1
Error: no main function specified
Error: Link command failed with exit code 1


{
    "name": "DDBC",
    "description": "DB Connector for D language, similar to JDBC",
    "authors": ["Vadim Lopatin"],
    "homepage": "http://sourceforge.net/projects/ddbc",
    "license": "Boost Software License (BSL 1.0)",
    "dependencies": {
    },
    "targetType": "staticLibrary",
    "configurations": [
        {
            "name": "MySQL",
            "versions": ["USE_MYSQL"]
        },
        {
            "name": "SQLite",
            "versions": ["USE_SQLITE"],
            "libs-posix": ["sqlite3"],
            "libs-windows": ["sqlite3.lib"]
        },
        {
            "name": "PGSQL",
            "versions": ["USE_PGSQL"],
            "libs-posix": ["pq"],
            "libs-windows": ["libpq.lib"]
        }
    ]
}
April 12, 2013
Still cannot build library using DUB.

Tried different changes in package.json

dub -v
...
[7F6FC283306F:00000000 INF] Running dmd (compile)...
[7F6FC283306F:00000000 dbg] dmd -w -g -debug -c -oftemp.o -version=USE_MYSQL -I/home/lve/src/ddbc/source source/drivers/sha1.d source/drivers/pgsqlddbc.d source/drivers/pgsql.d source/drivers/mysqlddbc.d source/drivers/mysql.d source/drivers/utils.d source/drivers/sqliteddbc.d source/common.d source/core.d
[7F6FC283306F:00000000 INF] Linking...
[7F6FC283306F:00000000 dbg] dmd -of/tmp/dub/2946988246/libddbc.a temp.o
/usr/lib/x86_64-linux-gnu/libphobos2.a(dmain2_47f_1a5.o): In function `main':


Why does it try to link app executable instead of just link library?


package.json:

{
    "name": "DDBC",
    "description": "DB Connector for D language, similar to JDBC",
    "authors": ["Vadim Lopatin"],
    "homepage": "http://sourceforge.net/projects/ddbc",
    "license": "Boost Software License (BSL 1.0)",
    "sourcePaths": ["source", "source/drivers"],
    "configurations": [
        {
            "name": "MySQL",
            "versions": ["USE_MYSQL"],
            "targetType": "staticLibrary",
            "targetPath": "bin",
            "targetName": "ddbc",
        }
    ]
}