Skip to content

Exception in PGConnection #23

@KingDuckZ

Description

@KingDuckZ

As per the title, initialization always fails with the following backtrace:

object.Exception@/home/michele/dev/code/d/ovonovo/libs/ddb/ddb/db.d(288): Received field count is not equal to Tuple!(uint, "arrayOid", uint, "elemOid")'s field count

0x44635e pure void ddb.db.DBRow!(uint, "arrayOid", uint, "elemOid").DBRow.checkReceivedFieldCount(int)
/home/michele/dev/code/d/ovonovo/libs/ddb/ddb/db.d:288
0x44a2b4 ddb.db.DBRow!(uint, "arrayOid", uint, "elemOid").DBRow ddb.postgres.PGConnection.fetchRow!(uint, "arrayOid", uint, "elemOid").fetchRow(ref ddb.postgres.Message, ref immutable(ddb.postgres.PGField)[])
/home/michele/dev/code/d/ovonovo/libs/ddb/ddb/postgres.d:1436
0x445f6a void ddb.postgres.PGResultSet!(uint, "arrayOid", uint, "elemOid").PGResultSet.popFront()
/home/michele/dev/code/d/ovonovo/libs/ddb/ddb/postgres.d:2186
0x4461b5 int ddb.postgres.PGResultSet!(uint, "arrayOid", uint, "elemOid").PGResultSet.opApply(int delegate(ref ddb.db.DBRow!(uint, "arrayOid", uint, "elemOid").DBRow))
/home/michele/dev/code/d/ovonovo/libs/ddb/ddb/postgres.d:2216
0x43927d void ddb.postgres.PGConnection.reloadArrayTypes()
/home/michele/dev/code/d/ovonovo/libs/ddb/ddb/postgres.d:1729
0x439a89 void ddb.postgres.PGConnection.reloadAllTypes()
/home/michele/dev/code/d/ovonovo/libs/ddb/ddb/postgres.d:1797
0x438c9e ddb.postgres.PGConnection ddb.postgres.PGConnection.__ctor(const(immutable(char)[][immutable(char)[]]))
/home/michele/dev/code/d/ovonovo/libs/ddb/ddb/postgres.d:1678
0x40922b ddb.postgres.PGConnection main.GetNewDBConnection()
/home/michele/dev/code/d/ovonovo/src/main.d:7
0x409564 Dmain
/home/michele/dev/code/d/ovonovo/src/main.d:38
0x4609be void rt.dmain2.d_run_main(int, char**, extern (C) int function(char[][])*).runAll().void _lambda1()
../../../../gcc-4.8.2/libphobos/libdruntime/rt/dmain2.d:412
0x460e8e void rt.dmain2.d_run_main(int, char**, extern (C) int function(char[][])).tryExec(scope void delegate())
../../../../gcc-4.8.2/libphobos/libdruntime/rt/dmain2.d:387
0x4610d8 void rt.dmain2.d_run_main(int, char
, extern (C) int function(char[][])
).runAll()
../../../../gcc-4.8.2/libphobos/libdruntime/rt/dmain2.d:412
0x460e8e void rt.dmain2.d_run_main(int, char*, extern (C) int function(char[][])
).tryExec(scope void delegate())
../../../../gcc-4.8.2/libphobos/libdruntime/rt/dmain2.d:387
0x46100f _d_run_main
../../../../gcc-4.8.2/libphobos/libdruntime/rt/dmain2.d:420
0x40913c main
/opt/gdc/include/d/4.8.2/__entrypoint.di:59
0x7f317eefec14 ???
???:0
0x408f54 ???
???:0
0xffffffffffffffff ???
???:0

I'm not sure what's going wrong on my system, running the queries from postgres.d line 1723 and 1739 in psql I get a list of non-null positive integer pairs. I'm new to D so I'm not sure how to fix this problem. I'm running a 64-bit gentoo system.

Also, please fix the warning on line 1366. Doing as the compiler says fixes the warning for me:

error: std.algorithm.indexOf!("a == b", string, char).indexOf at /opt/gdc/include/d/4.8.2/std/algorithm.d:4828 conflicts with std.string.indexOf!char.indexOf at /opt/gdc/include/d/4.8.2/std/string.d:252
libs/ddb/ddb/postgres.d:1366: warning: function std.algorithm.indexOf!("a == b", string, char).indexOf is deprecated - Please use std.algorithm.countUntil instead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions