You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by je...@apache.org on 2015/11/30 21:40:51 UTC

thrift git commit: THRIFT-3339 Support for database/sql Client: Go Patch: Adam Beberg

Repository: thrift
Updated Branches:
  refs/heads/master d25440909 -> ad6fd1b6d


THRIFT-3339 Support for database/sql
Client: Go
Patch: Adam Beberg


Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/ad6fd1b6
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/ad6fd1b6
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/ad6fd1b6

Branch: refs/heads/master
Commit: ad6fd1b6d2aed845e07769a84531e5b69a647146
Parents: d254409
Author: Jens Geyer <je...@apache.org>
Authored: Mon Nov 30 21:38:41 2015 +0100
Committer: Jens Geyer <je...@apache.org>
Committed: Mon Nov 30 21:40:01 2015 +0100

----------------------------------------------------------------------
 compiler/cpp/src/generate/t_go_generator.cc | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/thrift/blob/ad6fd1b6/compiler/cpp/src/generate/t_go_generator.cc
----------------------------------------------------------------------
diff --git a/compiler/cpp/src/generate/t_go_generator.cc b/compiler/cpp/src/generate/t_go_generator.cc
index cd03359..670adb2 100644
--- a/compiler/cpp/src/generate/t_go_generator.cc
+++ b/compiler/cpp/src/generate/t_go_generator.cc
@@ -1002,9 +1002,13 @@ void t_go_generator::generate_enum(t_enum* tenum) {
   f_types_ << "}" << endl << endl;
 
   // Generate Value for driver.Valuer interface
-  f_types_ << "func (p " << tenum_name << ") Value() (driver.Value, error) {" <<endl;
-  f_types_ << "return int64(p), nil" << endl;
+  f_types_ << "func (p * " << tenum_name << ") Value() (driver.Value, error) {" <<endl;
+  f_types_ << "  if p == nil {" << endl;
+  f_types_ << "    return nil, nil" << endl;
+  f_types_ << "  }" << endl;
+  f_types_ << "return int64(*p), nil" << endl;
   f_types_ << "}" << endl;
+
 }
 
 /**