Skip to content

Commit

Permalink
example: multidimensional array added
Browse files Browse the repository at this point in the history
  • Loading branch information
denizzzka committed Apr 19, 2015
1 parent 6b47d99 commit afb5220
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions example/example.d
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,17 @@ void main()
"$1::double precision as double_field, "
"$2::timestamp with time zone as time_field, "
"$3::text, "
"$4::text, "
"$5::integer[] as array_field";
"$4::text as null_field, "
"array['first', 'second', 'NULL']::text[] as array_field, "
"$5::integer[] as multi_array";

p.args.length = 5;

p.args[0].value = "-1234.56789012345";
p.args[1].value = "2012-10-04 11:00:21.227803+08";
p.args[2].value = "first line\nsecond line";
p.args[3].value = null;
p.args[4].value = "{1, 2, NULL}";
p.args[4].value = "{{1, 2, 3}, {4, 5, 6}}";

auto r = conn.exec(p);

Expand All @@ -41,10 +42,11 @@ void main()
writeln( "2: ", r[0][2].as!PGtext );
writeln( "3.1 isNull: ", r[0][3].isNull );
writeln( "3.2 isNULL: ", r[0].isNULL(3) );
writeln( "4.1: ", r[0][4].asArray[1].as!PGinteger );
writeln( "4.2: ", r[0][4].asArray.getValue(1).as!PGinteger );
writeln( "4.1: ", r[0][4].asArray[0].as!PGtext );
writeln( "4.2: ", r[0][4].asArray[1].as!PGtext );
writeln( "4.3: ", r[0]["array_field"].asArray[2].isNull );
writeln( "4.4: ", r[0]["array_field"].asArray.isNULL(2) );
writeln( "5: ", r[0]["multi_array"].asArray.getValue(1, 2).as!PGinteger );

version(LDC) delete r; // before Derelict unloads its bindings (prevents SIGSEGV)
}

0 comments on commit afb5220

Please sign in to comment.