recursion_bytes.sql 753 B

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. syntax='proto3';
  3. message Test {
  4. message InnerInner {
  5. string a = 1;
  6. }
  7. message Inner {
  8. InnerInner i = 1;
  9. }
  10. Inner inner = 1;
  11. Test test = 2;
  12. }
  13. */
  14. $config = @@{
  15. "name": "Test",
  16. "format": "json",
  17. "skip": 0,
  18. "lists": {
  19. "optional": false
  20. },
  21. "meta": "eNrjWsjIxV2UmlxapFdQlF+Sr9TJyMUSklpcIqTIxZqZl5daJMGowKjBbcStBxLV8wQJBUFkhCS5WEqAghJMYBWsYBVBYCEpKS4usFIwIcTDxZgINocziDFRSp2LFSIsx8WYCTVeAMl4iB2MmUlsYCcZAwC/Qiqb",
  22. "view": {
  23. "recursion": "bytes",
  24. "enum": "number"
  25. }
  26. }@@;
  27. $udfPar = Udf(Protobuf::Parse, $config as TypeConfig);
  28. $udfSer = Udf(Protobuf::Serialize, $config as TypeConfig);
  29. SELECT TestField, Ensure("Success", $udfPar(TestField) == $udfPar($udfSer($udfPar(TestField))), "Fail")
  30. FROM plato.Input;