zoukankan      html  css  js  c++  java
  • tigergraph 创建 字符串分割函数(c++)

    tigergraph 3.1 图数据库 的有些内置函数不够完善,像字符串的分割等函数都没有,因此在翻阅了国外资料之后,将这个功能贴出来。由于tigergraph使用的是c++ 因此,在创建函数之前,要安装本地的c++,且c++版本必须是11。

    如果按照官方提供的安装手册安装的话,自定义内置函数应给添加在 /home/tigergraph/tigergraph/app/3.1.0/dev/gdk/gsql/src/QueryUdf/ExprFunctions.hpp 中,具体的代码如下:

      //字符串分割
      inline ListAccum<string> string_split (string str, string delimiter) {
          ListAccum<string> newList;
          size_t pos = 0;
          std::string token;
          while ((pos = str.find(delimiter)) != std::string::npos) {
            token = str.substr(0, pos);
            newList += token;
            str.erase(0, pos + delimiter.length());
          }
          newList += str;
          return newList;
      }

    代码添加完毕之后,想要可以使用,必须先要编译,tigergraph 提供了编译测试方式,编译方式在 /home/tigergraph/tigergraph/app/3.1.0/dev/gdk/gsql/src/QueryUdf/test文件夹下,使用命令  ./compile 来编译 ../ExprFunctions.hpp中的新函数。如果编译没有问题,则在tigergraph sudio的query 中可以直接使用。

    需要注意的是,在compile文件中,g++ 命令后面的 -I 的路径可能错误,需要更改  -I$root_dir/gdk/gsdk/include/third_party/ 中的third_party ,应是thirdparty

  • 相关阅读:
    dev DEV控件:gridControl常用属性设置
    C# ListView用法详解
    LeetCode 22_ 括号生成
    LeetCode 198_ 打家劫舍
    LeetCode 46_ 全排列
    LeetCode 121_ 买卖股票的最佳时机
    LeetCode 70_ 爬楼梯
    LeetCode 53_ 最大子序和
    LeetCode 326_ 3的幂
    LeetCode 204_ 计数质数
  • 原文地址:https://www.cnblogs.com/zhaohaidong/p/14600853.html
Copyright © 2011-2022 走看看