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

  • 相关阅读:
    poplib
    【redis】哨兵模式
    no route to host
    修改文件失败,提示E509: 无法创建备份文件 (请加 ! 强制执行)
    【mysql】开启binlog后异常:impossible to write to binary log since BINLOG_FORMAT = STATEMENT
    rar
    manage.py命令
    zipfile
    【windows】git密码失效修改方式
    自动发现式推送数据,一次返回所有数据
  • 原文地址:https://www.cnblogs.com/zhaohaidong/p/14600853.html
Copyright © 2011-2022 走看看