1extern crate alloc;
4
5#[allow(unused_imports, dead_code)]
6pub mod plexus {
7
8 #[deprecated(
9 since = "2.0.0",
10 note = "Use associated constants instead. This will no longer be generated in 2021."
11 )]
12 pub const ENUM_MIN_CAPABILITY_ORDERING_CONTRACT: u8 = 0;
13 #[deprecated(
14 since = "2.0.0",
15 note = "Use associated constants instead. This will no longer be generated in 2021."
16 )]
17 pub const ENUM_MAX_CAPABILITY_ORDERING_CONTRACT: u8 = 6;
18 #[deprecated(
19 since = "2.0.0",
20 note = "Use associated constants instead. This will no longer be generated in 2021."
21 )]
22 #[allow(non_camel_case_types)]
23 pub const ENUM_VALUES_CAPABILITY_ORDERING_CONTRACT: [CapabilityOrderingContract; 7] = [
24 CapabilityOrderingContract::engine_defined_stable,
25 CapabilityOrderingContract::stable_pass_through,
26 CapabilityOrderingContract::fan_out_deterministic_per_input,
27 CapabilityOrderingContract::deterministic_sort_stable_ties,
28 CapabilityOrderingContract::unspecified_without_sort,
29 CapabilityOrderingContract::stable_concat_or_unspecified_distinct,
30 CapabilityOrderingContract::score_desc_stable_ties,
31 ];
32
33 #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
34 #[repr(transparent)]
35 pub struct CapabilityOrderingContract(pub u8);
36 #[allow(non_upper_case_globals)]
37 impl CapabilityOrderingContract {
38 pub const engine_defined_stable: Self = Self(0);
39 pub const stable_pass_through: Self = Self(1);
40 pub const fan_out_deterministic_per_input: Self = Self(2);
41 pub const deterministic_sort_stable_ties: Self = Self(3);
42 pub const unspecified_without_sort: Self = Self(4);
43 pub const stable_concat_or_unspecified_distinct: Self = Self(5);
44 pub const score_desc_stable_ties: Self = Self(6);
45
46 pub const ENUM_MIN: u8 = 0;
47 pub const ENUM_MAX: u8 = 6;
48 pub const ENUM_VALUES: &'static [Self] = &[
49 Self::engine_defined_stable,
50 Self::stable_pass_through,
51 Self::fan_out_deterministic_per_input,
52 Self::deterministic_sort_stable_ties,
53 Self::unspecified_without_sort,
54 Self::stable_concat_or_unspecified_distinct,
55 Self::score_desc_stable_ties,
56 ];
57 pub fn variant_name(self) -> Option<&'static str> {
59 match self {
60 Self::engine_defined_stable => Some("engine_defined_stable"),
61 Self::stable_pass_through => Some("stable_pass_through"),
62 Self::fan_out_deterministic_per_input => Some("fan_out_deterministic_per_input"),
63 Self::deterministic_sort_stable_ties => Some("deterministic_sort_stable_ties"),
64 Self::unspecified_without_sort => Some("unspecified_without_sort"),
65 Self::stable_concat_or_unspecified_distinct => {
66 Some("stable_concat_or_unspecified_distinct")
67 }
68 Self::score_desc_stable_ties => Some("score_desc_stable_ties"),
69 _ => None,
70 }
71 }
72 }
73 impl ::core::fmt::Debug for CapabilityOrderingContract {
74 fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
75 if let Some(name) = self.variant_name() {
76 f.write_str(name)
77 } else {
78 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
79 }
80 }
81 }
82 impl<'a> ::flatbuffers::Follow<'a> for CapabilityOrderingContract {
83 type Inner = Self;
84 #[inline]
85 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
86 let b = unsafe { ::flatbuffers::read_scalar_at::<u8>(buf, loc) };
87 Self(b)
88 }
89 }
90
91 impl ::flatbuffers::Push for CapabilityOrderingContract {
92 type Output = CapabilityOrderingContract;
93 #[inline]
94 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
95 unsafe { ::flatbuffers::emplace_scalar::<u8>(dst, self.0) };
96 }
97 }
98
99 impl ::flatbuffers::EndianScalar for CapabilityOrderingContract {
100 type Scalar = u8;
101 #[inline]
102 fn to_little_endian(self) -> u8 {
103 self.0.to_le()
104 }
105 #[inline]
106 #[allow(clippy::wrong_self_convention)]
107 fn from_little_endian(v: u8) -> Self {
108 let b = u8::from_le(v);
109 Self(b)
110 }
111 }
112
113 impl<'a> ::flatbuffers::Verifiable for CapabilityOrderingContract {
114 #[inline]
115 fn run_verifier(
116 v: &mut ::flatbuffers::Verifier,
117 pos: usize,
118 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
119 u8::run_verifier(v, pos)
120 }
121 }
122
123 impl ::flatbuffers::SimpleToVerifyInSlice for CapabilityOrderingContract {}
124 #[deprecated(
125 since = "2.0.0",
126 note = "Use associated constants instead. This will no longer be generated in 2021."
127 )]
128 pub const ENUM_MIN_COL_KIND: u8 = 0;
129 #[deprecated(
130 since = "2.0.0",
131 note = "Use associated constants instead. This will no longer be generated in 2021."
132 )]
133 pub const ENUM_MAX_COL_KIND: u8 = 12;
134 #[deprecated(
135 since = "2.0.0",
136 note = "Use associated constants instead. This will no longer be generated in 2021."
137 )]
138 #[allow(non_camel_case_types)]
139 pub const ENUM_VALUES_COL_KIND: [ColKind; 13] = [
140 ColKind::node,
141 ColKind::rel,
142 ColKind::value,
143 ColKind::bool,
144 ColKind::int64,
145 ColKind::float64,
146 ColKind::string,
147 ColKind::null,
148 ColKind::list,
149 ColKind::map,
150 ColKind::path,
151 ColKind::graph,
152 ColKind::vector,
153 ];
154
155 #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
156 #[repr(transparent)]
157 pub struct ColKind(pub u8);
158 #[allow(non_upper_case_globals)]
159 impl ColKind {
160 pub const node: Self = Self(0);
161 pub const rel: Self = Self(1);
162 pub const value: Self = Self(2);
163 pub const bool: Self = Self(3);
164 pub const int64: Self = Self(4);
165 pub const float64: Self = Self(5);
166 pub const string: Self = Self(6);
167 pub const null: Self = Self(7);
168 pub const list: Self = Self(8);
169 pub const map: Self = Self(9);
170 pub const path: Self = Self(10);
171 pub const graph: Self = Self(11);
172 pub const vector: Self = Self(12);
173
174 pub const ENUM_MIN: u8 = 0;
175 pub const ENUM_MAX: u8 = 12;
176 pub const ENUM_VALUES: &'static [Self] = &[
177 Self::node,
178 Self::rel,
179 Self::value,
180 Self::bool,
181 Self::int64,
182 Self::float64,
183 Self::string,
184 Self::null,
185 Self::list,
186 Self::map,
187 Self::path,
188 Self::graph,
189 Self::vector,
190 ];
191 pub fn variant_name(self) -> Option<&'static str> {
193 match self {
194 Self::node => Some("node"),
195 Self::rel => Some("rel"),
196 Self::value => Some("value"),
197 Self::bool => Some("bool"),
198 Self::int64 => Some("int64"),
199 Self::float64 => Some("float64"),
200 Self::string => Some("string"),
201 Self::null => Some("null"),
202 Self::list => Some("list"),
203 Self::map => Some("map"),
204 Self::path => Some("path"),
205 Self::graph => Some("graph"),
206 Self::vector => Some("vector"),
207 _ => None,
208 }
209 }
210 }
211 impl ::core::fmt::Debug for ColKind {
212 fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
213 if let Some(name) = self.variant_name() {
214 f.write_str(name)
215 } else {
216 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
217 }
218 }
219 }
220 impl<'a> ::flatbuffers::Follow<'a> for ColKind {
221 type Inner = Self;
222 #[inline]
223 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
224 let b = unsafe { ::flatbuffers::read_scalar_at::<u8>(buf, loc) };
225 Self(b)
226 }
227 }
228
229 impl ::flatbuffers::Push for ColKind {
230 type Output = ColKind;
231 #[inline]
232 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
233 unsafe { ::flatbuffers::emplace_scalar::<u8>(dst, self.0) };
234 }
235 }
236
237 impl ::flatbuffers::EndianScalar for ColKind {
238 type Scalar = u8;
239 #[inline]
240 fn to_little_endian(self) -> u8 {
241 self.0.to_le()
242 }
243 #[inline]
244 #[allow(clippy::wrong_self_convention)]
245 fn from_little_endian(v: u8) -> Self {
246 let b = u8::from_le(v);
247 Self(b)
248 }
249 }
250
251 impl<'a> ::flatbuffers::Verifiable for ColKind {
252 #[inline]
253 fn run_verifier(
254 v: &mut ::flatbuffers::Verifier,
255 pos: usize,
256 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
257 u8::run_verifier(v, pos)
258 }
259 }
260
261 impl ::flatbuffers::SimpleToVerifyInSlice for ColKind {}
262 #[deprecated(
263 since = "2.0.0",
264 note = "Use associated constants instead. This will no longer be generated in 2021."
265 )]
266 pub const ENUM_MIN_LOGICAL_TYPE: u8 = 0;
267 #[deprecated(
268 since = "2.0.0",
269 note = "Use associated constants instead. This will no longer be generated in 2021."
270 )]
271 pub const ENUM_MAX_LOGICAL_TYPE: u8 = 11;
272 #[deprecated(
273 since = "2.0.0",
274 note = "Use associated constants instead. This will no longer be generated in 2021."
275 )]
276 #[allow(non_camel_case_types)]
277 pub const ENUM_VALUES_LOGICAL_TYPE: [LogicalType; 12] = [
278 LogicalType::unknown,
279 LogicalType::bool,
280 LogicalType::int64,
281 LogicalType::float64,
282 LogicalType::string,
283 LogicalType::null,
284 LogicalType::list,
285 LogicalType::map,
286 LogicalType::node_ref,
287 LogicalType::rel_ref,
288 LogicalType::path,
289 LogicalType::vector,
290 ];
291
292 #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
295 #[repr(transparent)]
296 pub struct LogicalType(pub u8);
297 #[allow(non_upper_case_globals)]
298 impl LogicalType {
299 pub const unknown: Self = Self(0);
300 pub const bool: Self = Self(1);
301 pub const int64: Self = Self(2);
302 pub const float64: Self = Self(3);
303 pub const string: Self = Self(4);
304 pub const null: Self = Self(5);
305 pub const list: Self = Self(6);
306 pub const map: Self = Self(7);
307 pub const node_ref: Self = Self(8);
308 pub const rel_ref: Self = Self(9);
309 pub const path: Self = Self(10);
310 pub const vector: Self = Self(11);
311
312 pub const ENUM_MIN: u8 = 0;
313 pub const ENUM_MAX: u8 = 11;
314 pub const ENUM_VALUES: &'static [Self] = &[
315 Self::unknown,
316 Self::bool,
317 Self::int64,
318 Self::float64,
319 Self::string,
320 Self::null,
321 Self::list,
322 Self::map,
323 Self::node_ref,
324 Self::rel_ref,
325 Self::path,
326 Self::vector,
327 ];
328 pub fn variant_name(self) -> Option<&'static str> {
330 match self {
331 Self::unknown => Some("unknown"),
332 Self::bool => Some("bool"),
333 Self::int64 => Some("int64"),
334 Self::float64 => Some("float64"),
335 Self::string => Some("string"),
336 Self::null => Some("null"),
337 Self::list => Some("list"),
338 Self::map => Some("map"),
339 Self::node_ref => Some("node_ref"),
340 Self::rel_ref => Some("rel_ref"),
341 Self::path => Some("path"),
342 Self::vector => Some("vector"),
343 _ => None,
344 }
345 }
346 }
347 impl ::core::fmt::Debug for LogicalType {
348 fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
349 if let Some(name) = self.variant_name() {
350 f.write_str(name)
351 } else {
352 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
353 }
354 }
355 }
356 impl<'a> ::flatbuffers::Follow<'a> for LogicalType {
357 type Inner = Self;
358 #[inline]
359 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
360 let b = unsafe { ::flatbuffers::read_scalar_at::<u8>(buf, loc) };
361 Self(b)
362 }
363 }
364
365 impl ::flatbuffers::Push for LogicalType {
366 type Output = LogicalType;
367 #[inline]
368 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
369 unsafe { ::flatbuffers::emplace_scalar::<u8>(dst, self.0) };
370 }
371 }
372
373 impl ::flatbuffers::EndianScalar for LogicalType {
374 type Scalar = u8;
375 #[inline]
376 fn to_little_endian(self) -> u8 {
377 self.0.to_le()
378 }
379 #[inline]
380 #[allow(clippy::wrong_self_convention)]
381 fn from_little_endian(v: u8) -> Self {
382 let b = u8::from_le(v);
383 Self(b)
384 }
385 }
386
387 impl<'a> ::flatbuffers::Verifiable for LogicalType {
388 #[inline]
389 fn run_verifier(
390 v: &mut ::flatbuffers::Verifier,
391 pos: usize,
392 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
393 u8::run_verifier(v, pos)
394 }
395 }
396
397 impl ::flatbuffers::SimpleToVerifyInSlice for LogicalType {}
398 #[deprecated(
399 since = "2.0.0",
400 note = "Use associated constants instead. This will no longer be generated in 2021."
401 )]
402 pub const ENUM_MIN_CMP_OP: u8 = 0;
403 #[deprecated(
404 since = "2.0.0",
405 note = "Use associated constants instead. This will no longer be generated in 2021."
406 )]
407 pub const ENUM_MAX_CMP_OP: u8 = 5;
408 #[deprecated(
409 since = "2.0.0",
410 note = "Use associated constants instead. This will no longer be generated in 2021."
411 )]
412 #[allow(non_camel_case_types)]
413 pub const ENUM_VALUES_CMP_OP: [CmpOp; 6] = [
414 CmpOp::eq,
415 CmpOp::ne,
416 CmpOp::lt,
417 CmpOp::gt,
418 CmpOp::le,
419 CmpOp::ge,
420 ];
421
422 #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
423 #[repr(transparent)]
424 pub struct CmpOp(pub u8);
425 #[allow(non_upper_case_globals)]
426 impl CmpOp {
427 pub const eq: Self = Self(0);
428 pub const ne: Self = Self(1);
429 pub const lt: Self = Self(2);
430 pub const gt: Self = Self(3);
431 pub const le: Self = Self(4);
432 pub const ge: Self = Self(5);
433
434 pub const ENUM_MIN: u8 = 0;
435 pub const ENUM_MAX: u8 = 5;
436 pub const ENUM_VALUES: &'static [Self] =
437 &[Self::eq, Self::ne, Self::lt, Self::gt, Self::le, Self::ge];
438 pub fn variant_name(self) -> Option<&'static str> {
440 match self {
441 Self::eq => Some("eq"),
442 Self::ne => Some("ne"),
443 Self::lt => Some("lt"),
444 Self::gt => Some("gt"),
445 Self::le => Some("le"),
446 Self::ge => Some("ge"),
447 _ => None,
448 }
449 }
450 }
451 impl ::core::fmt::Debug for CmpOp {
452 fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
453 if let Some(name) = self.variant_name() {
454 f.write_str(name)
455 } else {
456 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
457 }
458 }
459 }
460 impl<'a> ::flatbuffers::Follow<'a> for CmpOp {
461 type Inner = Self;
462 #[inline]
463 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
464 let b = unsafe { ::flatbuffers::read_scalar_at::<u8>(buf, loc) };
465 Self(b)
466 }
467 }
468
469 impl ::flatbuffers::Push for CmpOp {
470 type Output = CmpOp;
471 #[inline]
472 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
473 unsafe { ::flatbuffers::emplace_scalar::<u8>(dst, self.0) };
474 }
475 }
476
477 impl ::flatbuffers::EndianScalar for CmpOp {
478 type Scalar = u8;
479 #[inline]
480 fn to_little_endian(self) -> u8 {
481 self.0.to_le()
482 }
483 #[inline]
484 #[allow(clippy::wrong_self_convention)]
485 fn from_little_endian(v: u8) -> Self {
486 let b = u8::from_le(v);
487 Self(b)
488 }
489 }
490
491 impl<'a> ::flatbuffers::Verifiable for CmpOp {
492 #[inline]
493 fn run_verifier(
494 v: &mut ::flatbuffers::Verifier,
495 pos: usize,
496 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
497 u8::run_verifier(v, pos)
498 }
499 }
500
501 impl ::flatbuffers::SimpleToVerifyInSlice for CmpOp {}
502 #[deprecated(
503 since = "2.0.0",
504 note = "Use associated constants instead. This will no longer be generated in 2021."
505 )]
506 pub const ENUM_MIN_AGG_FN: u8 = 0;
507 #[deprecated(
508 since = "2.0.0",
509 note = "Use associated constants instead. This will no longer be generated in 2021."
510 )]
511 pub const ENUM_MAX_AGG_FN: u8 = 6;
512 #[deprecated(
513 since = "2.0.0",
514 note = "Use associated constants instead. This will no longer be generated in 2021."
515 )]
516 #[allow(non_camel_case_types)]
517 pub const ENUM_VALUES_AGG_FN: [AggFn; 7] = [
518 AggFn::count_star,
519 AggFn::count,
520 AggFn::sum,
521 AggFn::avg,
522 AggFn::min,
523 AggFn::max,
524 AggFn::collect,
525 ];
526
527 #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
528 #[repr(transparent)]
529 pub struct AggFn(pub u8);
530 #[allow(non_upper_case_globals)]
531 impl AggFn {
532 pub const count_star: Self = Self(0);
533 pub const count: Self = Self(1);
534 pub const sum: Self = Self(2);
535 pub const avg: Self = Self(3);
536 pub const min: Self = Self(4);
537 pub const max: Self = Self(5);
538 pub const collect: Self = Self(6);
539
540 pub const ENUM_MIN: u8 = 0;
541 pub const ENUM_MAX: u8 = 6;
542 pub const ENUM_VALUES: &'static [Self] = &[
543 Self::count_star,
544 Self::count,
545 Self::sum,
546 Self::avg,
547 Self::min,
548 Self::max,
549 Self::collect,
550 ];
551 pub fn variant_name(self) -> Option<&'static str> {
553 match self {
554 Self::count_star => Some("count_star"),
555 Self::count => Some("count"),
556 Self::sum => Some("sum"),
557 Self::avg => Some("avg"),
558 Self::min => Some("min"),
559 Self::max => Some("max"),
560 Self::collect => Some("collect"),
561 _ => None,
562 }
563 }
564 }
565 impl ::core::fmt::Debug for AggFn {
566 fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
567 if let Some(name) = self.variant_name() {
568 f.write_str(name)
569 } else {
570 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
571 }
572 }
573 }
574 impl<'a> ::flatbuffers::Follow<'a> for AggFn {
575 type Inner = Self;
576 #[inline]
577 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
578 let b = unsafe { ::flatbuffers::read_scalar_at::<u8>(buf, loc) };
579 Self(b)
580 }
581 }
582
583 impl ::flatbuffers::Push for AggFn {
584 type Output = AggFn;
585 #[inline]
586 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
587 unsafe { ::flatbuffers::emplace_scalar::<u8>(dst, self.0) };
588 }
589 }
590
591 impl ::flatbuffers::EndianScalar for AggFn {
592 type Scalar = u8;
593 #[inline]
594 fn to_little_endian(self) -> u8 {
595 self.0.to_le()
596 }
597 #[inline]
598 #[allow(clippy::wrong_self_convention)]
599 fn from_little_endian(v: u8) -> Self {
600 let b = u8::from_le(v);
601 Self(b)
602 }
603 }
604
605 impl<'a> ::flatbuffers::Verifiable for AggFn {
606 #[inline]
607 fn run_verifier(
608 v: &mut ::flatbuffers::Verifier,
609 pos: usize,
610 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
611 u8::run_verifier(v, pos)
612 }
613 }
614
615 impl ::flatbuffers::SimpleToVerifyInSlice for AggFn {}
616 #[deprecated(
617 since = "2.0.0",
618 note = "Use associated constants instead. This will no longer be generated in 2021."
619 )]
620 pub const ENUM_MIN_ARITH_OP: u8 = 0;
621 #[deprecated(
622 since = "2.0.0",
623 note = "Use associated constants instead. This will no longer be generated in 2021."
624 )]
625 pub const ENUM_MAX_ARITH_OP: u8 = 3;
626 #[deprecated(
627 since = "2.0.0",
628 note = "Use associated constants instead. This will no longer be generated in 2021."
629 )]
630 #[allow(non_camel_case_types)]
631 pub const ENUM_VALUES_ARITH_OP: [ArithOp; 4] =
632 [ArithOp::add, ArithOp::sub, ArithOp::mul, ArithOp::div];
633
634 #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
635 #[repr(transparent)]
636 pub struct ArithOp(pub u8);
637 #[allow(non_upper_case_globals)]
638 impl ArithOp {
639 pub const add: Self = Self(0);
640 pub const sub: Self = Self(1);
641 pub const mul: Self = Self(2);
642 pub const div: Self = Self(3);
643
644 pub const ENUM_MIN: u8 = 0;
645 pub const ENUM_MAX: u8 = 3;
646 pub const ENUM_VALUES: &'static [Self] = &[Self::add, Self::sub, Self::mul, Self::div];
647 pub fn variant_name(self) -> Option<&'static str> {
649 match self {
650 Self::add => Some("add"),
651 Self::sub => Some("sub"),
652 Self::mul => Some("mul"),
653 Self::div => Some("div"),
654 _ => None,
655 }
656 }
657 }
658 impl ::core::fmt::Debug for ArithOp {
659 fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
660 if let Some(name) = self.variant_name() {
661 f.write_str(name)
662 } else {
663 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
664 }
665 }
666 }
667 impl<'a> ::flatbuffers::Follow<'a> for ArithOp {
668 type Inner = Self;
669 #[inline]
670 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
671 let b = unsafe { ::flatbuffers::read_scalar_at::<u8>(buf, loc) };
672 Self(b)
673 }
674 }
675
676 impl ::flatbuffers::Push for ArithOp {
677 type Output = ArithOp;
678 #[inline]
679 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
680 unsafe { ::flatbuffers::emplace_scalar::<u8>(dst, self.0) };
681 }
682 }
683
684 impl ::flatbuffers::EndianScalar for ArithOp {
685 type Scalar = u8;
686 #[inline]
687 fn to_little_endian(self) -> u8 {
688 self.0.to_le()
689 }
690 #[inline]
691 #[allow(clippy::wrong_self_convention)]
692 fn from_little_endian(v: u8) -> Self {
693 let b = u8::from_le(v);
694 Self(b)
695 }
696 }
697
698 impl<'a> ::flatbuffers::Verifiable for ArithOp {
699 #[inline]
700 fn run_verifier(
701 v: &mut ::flatbuffers::Verifier,
702 pos: usize,
703 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
704 u8::run_verifier(v, pos)
705 }
706 }
707
708 impl ::flatbuffers::SimpleToVerifyInSlice for ArithOp {}
709 #[deprecated(
710 since = "2.0.0",
711 note = "Use associated constants instead. This will no longer be generated in 2021."
712 )]
713 pub const ENUM_MIN_VECTOR_METRIC: u8 = 0;
714 #[deprecated(
715 since = "2.0.0",
716 note = "Use associated constants instead. This will no longer be generated in 2021."
717 )]
718 pub const ENUM_MAX_VECTOR_METRIC: u8 = 2;
719 #[deprecated(
720 since = "2.0.0",
721 note = "Use associated constants instead. This will no longer be generated in 2021."
722 )]
723 #[allow(non_camel_case_types)]
724 pub const ENUM_VALUES_VECTOR_METRIC: [VectorMetric; 3] = [
725 VectorMetric::cosine,
726 VectorMetric::l2,
727 VectorMetric::dot_product,
728 ];
729
730 #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
731 #[repr(transparent)]
732 pub struct VectorMetric(pub u8);
733 #[allow(non_upper_case_globals)]
734 impl VectorMetric {
735 pub const cosine: Self = Self(0);
736 pub const l2: Self = Self(1);
737 pub const dot_product: Self = Self(2);
738
739 pub const ENUM_MIN: u8 = 0;
740 pub const ENUM_MAX: u8 = 2;
741 pub const ENUM_VALUES: &'static [Self] = &[Self::cosine, Self::l2, Self::dot_product];
742 pub fn variant_name(self) -> Option<&'static str> {
744 match self {
745 Self::cosine => Some("cosine"),
746 Self::l2 => Some("l2"),
747 Self::dot_product => Some("dot_product"),
748 _ => None,
749 }
750 }
751 }
752 impl ::core::fmt::Debug for VectorMetric {
753 fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
754 if let Some(name) = self.variant_name() {
755 f.write_str(name)
756 } else {
757 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
758 }
759 }
760 }
761 impl<'a> ::flatbuffers::Follow<'a> for VectorMetric {
762 type Inner = Self;
763 #[inline]
764 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
765 let b = unsafe { ::flatbuffers::read_scalar_at::<u8>(buf, loc) };
766 Self(b)
767 }
768 }
769
770 impl ::flatbuffers::Push for VectorMetric {
771 type Output = VectorMetric;
772 #[inline]
773 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
774 unsafe { ::flatbuffers::emplace_scalar::<u8>(dst, self.0) };
775 }
776 }
777
778 impl ::flatbuffers::EndianScalar for VectorMetric {
779 type Scalar = u8;
780 #[inline]
781 fn to_little_endian(self) -> u8 {
782 self.0.to_le()
783 }
784 #[inline]
785 #[allow(clippy::wrong_self_convention)]
786 fn from_little_endian(v: u8) -> Self {
787 let b = u8::from_le(v);
788 Self(b)
789 }
790 }
791
792 impl<'a> ::flatbuffers::Verifiable for VectorMetric {
793 #[inline]
794 fn run_verifier(
795 v: &mut ::flatbuffers::Verifier,
796 pos: usize,
797 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
798 u8::run_verifier(v, pos)
799 }
800 }
801
802 impl ::flatbuffers::SimpleToVerifyInSlice for VectorMetric {}
803 #[deprecated(
804 since = "2.0.0",
805 note = "Use associated constants instead. This will no longer be generated in 2021."
806 )]
807 pub const ENUM_MIN_EXPR_NODE: u8 = 0;
808 #[deprecated(
809 since = "2.0.0",
810 note = "Use associated constants instead. This will no longer be generated in 2021."
811 )]
812 pub const ENUM_MAX_EXPR_NODE: u8 = 26;
813 #[deprecated(
814 since = "2.0.0",
815 note = "Use associated constants instead. This will no longer be generated in 2021."
816 )]
817 #[allow(non_camel_case_types)]
818 pub const ENUM_VALUES_EXPR_NODE: [ExprNode; 27] = [
819 ExprNode::NONE,
820 ExprNode::ColRefExpr,
821 ExprNode::PropAccessExpr,
822 ExprNode::IntLiteralExpr,
823 ExprNode::FloatLiteralExpr,
824 ExprNode::BoolLiteralExpr,
825 ExprNode::StringLiteralExpr,
826 ExprNode::NullLiteralExpr,
827 ExprNode::CmpExpr,
828 ExprNode::AndExpr,
829 ExprNode::OrExpr,
830 ExprNode::NotExpr,
831 ExprNode::IsNullExpr,
832 ExprNode::IsNotNullExpr,
833 ExprNode::StartsWithExpr,
834 ExprNode::EndsWithExpr,
835 ExprNode::ContainsExpr,
836 ExprNode::InExpr,
837 ExprNode::ListLiteralExpr,
838 ExprNode::MapLiteralExpr,
839 ExprNode::ExistsExpr,
840 ExprNode::ListComprehensionExpr,
841 ExprNode::AggExpr,
842 ExprNode::ArithExpr,
843 ExprNode::ParamExpr,
844 ExprNode::CaseExpr,
845 ExprNode::VectorSimilarityExpr,
846 ];
847
848 #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
849 #[repr(transparent)]
850 pub struct ExprNode(pub u8);
851 #[allow(non_upper_case_globals)]
852 impl ExprNode {
853 pub const NONE: Self = Self(0);
854 pub const ColRefExpr: Self = Self(1);
855 pub const PropAccessExpr: Self = Self(2);
856 pub const IntLiteralExpr: Self = Self(3);
857 pub const FloatLiteralExpr: Self = Self(4);
858 pub const BoolLiteralExpr: Self = Self(5);
859 pub const StringLiteralExpr: Self = Self(6);
860 pub const NullLiteralExpr: Self = Self(7);
861 pub const CmpExpr: Self = Self(8);
862 pub const AndExpr: Self = Self(9);
863 pub const OrExpr: Self = Self(10);
864 pub const NotExpr: Self = Self(11);
865 pub const IsNullExpr: Self = Self(12);
866 pub const IsNotNullExpr: Self = Self(13);
867 pub const StartsWithExpr: Self = Self(14);
868 pub const EndsWithExpr: Self = Self(15);
869 pub const ContainsExpr: Self = Self(16);
870 pub const InExpr: Self = Self(17);
871 pub const ListLiteralExpr: Self = Self(18);
872 pub const MapLiteralExpr: Self = Self(19);
873 pub const ExistsExpr: Self = Self(20);
874 pub const ListComprehensionExpr: Self = Self(21);
875 pub const AggExpr: Self = Self(22);
876 pub const ArithExpr: Self = Self(23);
877 pub const ParamExpr: Self = Self(24);
878 pub const CaseExpr: Self = Self(25);
879 pub const VectorSimilarityExpr: Self = Self(26);
880
881 pub const ENUM_MIN: u8 = 0;
882 pub const ENUM_MAX: u8 = 26;
883 pub const ENUM_VALUES: &'static [Self] = &[
884 Self::NONE,
885 Self::ColRefExpr,
886 Self::PropAccessExpr,
887 Self::IntLiteralExpr,
888 Self::FloatLiteralExpr,
889 Self::BoolLiteralExpr,
890 Self::StringLiteralExpr,
891 Self::NullLiteralExpr,
892 Self::CmpExpr,
893 Self::AndExpr,
894 Self::OrExpr,
895 Self::NotExpr,
896 Self::IsNullExpr,
897 Self::IsNotNullExpr,
898 Self::StartsWithExpr,
899 Self::EndsWithExpr,
900 Self::ContainsExpr,
901 Self::InExpr,
902 Self::ListLiteralExpr,
903 Self::MapLiteralExpr,
904 Self::ExistsExpr,
905 Self::ListComprehensionExpr,
906 Self::AggExpr,
907 Self::ArithExpr,
908 Self::ParamExpr,
909 Self::CaseExpr,
910 Self::VectorSimilarityExpr,
911 ];
912 pub fn variant_name(self) -> Option<&'static str> {
914 match self {
915 Self::NONE => Some("NONE"),
916 Self::ColRefExpr => Some("ColRefExpr"),
917 Self::PropAccessExpr => Some("PropAccessExpr"),
918 Self::IntLiteralExpr => Some("IntLiteralExpr"),
919 Self::FloatLiteralExpr => Some("FloatLiteralExpr"),
920 Self::BoolLiteralExpr => Some("BoolLiteralExpr"),
921 Self::StringLiteralExpr => Some("StringLiteralExpr"),
922 Self::NullLiteralExpr => Some("NullLiteralExpr"),
923 Self::CmpExpr => Some("CmpExpr"),
924 Self::AndExpr => Some("AndExpr"),
925 Self::OrExpr => Some("OrExpr"),
926 Self::NotExpr => Some("NotExpr"),
927 Self::IsNullExpr => Some("IsNullExpr"),
928 Self::IsNotNullExpr => Some("IsNotNullExpr"),
929 Self::StartsWithExpr => Some("StartsWithExpr"),
930 Self::EndsWithExpr => Some("EndsWithExpr"),
931 Self::ContainsExpr => Some("ContainsExpr"),
932 Self::InExpr => Some("InExpr"),
933 Self::ListLiteralExpr => Some("ListLiteralExpr"),
934 Self::MapLiteralExpr => Some("MapLiteralExpr"),
935 Self::ExistsExpr => Some("ExistsExpr"),
936 Self::ListComprehensionExpr => Some("ListComprehensionExpr"),
937 Self::AggExpr => Some("AggExpr"),
938 Self::ArithExpr => Some("ArithExpr"),
939 Self::ParamExpr => Some("ParamExpr"),
940 Self::CaseExpr => Some("CaseExpr"),
941 Self::VectorSimilarityExpr => Some("VectorSimilarityExpr"),
942 _ => None,
943 }
944 }
945 }
946 impl ::core::fmt::Debug for ExprNode {
947 fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
948 if let Some(name) = self.variant_name() {
949 f.write_str(name)
950 } else {
951 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
952 }
953 }
954 }
955 impl<'a> ::flatbuffers::Follow<'a> for ExprNode {
956 type Inner = Self;
957 #[inline]
958 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
959 let b = unsafe { ::flatbuffers::read_scalar_at::<u8>(buf, loc) };
960 Self(b)
961 }
962 }
963
964 impl ::flatbuffers::Push for ExprNode {
965 type Output = ExprNode;
966 #[inline]
967 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
968 unsafe { ::flatbuffers::emplace_scalar::<u8>(dst, self.0) };
969 }
970 }
971
972 impl ::flatbuffers::EndianScalar for ExprNode {
973 type Scalar = u8;
974 #[inline]
975 fn to_little_endian(self) -> u8 {
976 self.0.to_le()
977 }
978 #[inline]
979 #[allow(clippy::wrong_self_convention)]
980 fn from_little_endian(v: u8) -> Self {
981 let b = u8::from_le(v);
982 Self(b)
983 }
984 }
985
986 impl<'a> ::flatbuffers::Verifiable for ExprNode {
987 #[inline]
988 fn run_verifier(
989 v: &mut ::flatbuffers::Verifier,
990 pos: usize,
991 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
992 u8::run_verifier(v, pos)
993 }
994 }
995
996 impl ::flatbuffers::SimpleToVerifyInSlice for ExprNode {}
997 pub struct ExprNodeUnionTableOffset {}
998
999 #[deprecated(
1000 since = "2.0.0",
1001 note = "Use associated constants instead. This will no longer be generated in 2021."
1002 )]
1003 pub const ENUM_MIN_EXPAND_DIR: u8 = 0;
1004 #[deprecated(
1005 since = "2.0.0",
1006 note = "Use associated constants instead. This will no longer be generated in 2021."
1007 )]
1008 pub const ENUM_MAX_EXPAND_DIR: u8 = 2;
1009 #[deprecated(
1010 since = "2.0.0",
1011 note = "Use associated constants instead. This will no longer be generated in 2021."
1012 )]
1013 #[allow(non_camel_case_types)]
1014 pub const ENUM_VALUES_EXPAND_DIR: [ExpandDir; 3] =
1015 [ExpandDir::out, ExpandDir::in_, ExpandDir::both];
1016
1017 #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1018 #[repr(transparent)]
1019 pub struct ExpandDir(pub u8);
1020 #[allow(non_upper_case_globals)]
1021 impl ExpandDir {
1022 pub const out: Self = Self(0);
1023 pub const in_: Self = Self(1);
1024 pub const both: Self = Self(2);
1025
1026 pub const ENUM_MIN: u8 = 0;
1027 pub const ENUM_MAX: u8 = 2;
1028 pub const ENUM_VALUES: &'static [Self] = &[Self::out, Self::in_, Self::both];
1029 pub fn variant_name(self) -> Option<&'static str> {
1031 match self {
1032 Self::out => Some("out"),
1033 Self::in_ => Some("in_"),
1034 Self::both => Some("both"),
1035 _ => None,
1036 }
1037 }
1038 }
1039 impl ::core::fmt::Debug for ExpandDir {
1040 fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
1041 if let Some(name) = self.variant_name() {
1042 f.write_str(name)
1043 } else {
1044 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1045 }
1046 }
1047 }
1048 impl<'a> ::flatbuffers::Follow<'a> for ExpandDir {
1049 type Inner = Self;
1050 #[inline]
1051 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1052 let b = unsafe { ::flatbuffers::read_scalar_at::<u8>(buf, loc) };
1053 Self(b)
1054 }
1055 }
1056
1057 impl ::flatbuffers::Push for ExpandDir {
1058 type Output = ExpandDir;
1059 #[inline]
1060 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1061 unsafe { ::flatbuffers::emplace_scalar::<u8>(dst, self.0) };
1062 }
1063 }
1064
1065 impl ::flatbuffers::EndianScalar for ExpandDir {
1066 type Scalar = u8;
1067 #[inline]
1068 fn to_little_endian(self) -> u8 {
1069 self.0.to_le()
1070 }
1071 #[inline]
1072 #[allow(clippy::wrong_self_convention)]
1073 fn from_little_endian(v: u8) -> Self {
1074 let b = u8::from_le(v);
1075 Self(b)
1076 }
1077 }
1078
1079 impl<'a> ::flatbuffers::Verifiable for ExpandDir {
1080 #[inline]
1081 fn run_verifier(
1082 v: &mut ::flatbuffers::Verifier,
1083 pos: usize,
1084 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
1085 u8::run_verifier(v, pos)
1086 }
1087 }
1088
1089 impl ::flatbuffers::SimpleToVerifyInSlice for ExpandDir {}
1090 #[deprecated(
1091 since = "2.0.0",
1092 note = "Use associated constants instead. This will no longer be generated in 2021."
1093 )]
1094 pub const ENUM_MIN_SORT_DIR: u8 = 0;
1095 #[deprecated(
1096 since = "2.0.0",
1097 note = "Use associated constants instead. This will no longer be generated in 2021."
1098 )]
1099 pub const ENUM_MAX_SORT_DIR: u8 = 1;
1100 #[deprecated(
1101 since = "2.0.0",
1102 note = "Use associated constants instead. This will no longer be generated in 2021."
1103 )]
1104 #[allow(non_camel_case_types)]
1105 pub const ENUM_VALUES_SORT_DIR: [SortDir; 2] = [SortDir::asc, SortDir::desc];
1106
1107 #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1108 #[repr(transparent)]
1109 pub struct SortDir(pub u8);
1110 #[allow(non_upper_case_globals)]
1111 impl SortDir {
1112 pub const asc: Self = Self(0);
1113 pub const desc: Self = Self(1);
1114
1115 pub const ENUM_MIN: u8 = 0;
1116 pub const ENUM_MAX: u8 = 1;
1117 pub const ENUM_VALUES: &'static [Self] = &[Self::asc, Self::desc];
1118 pub fn variant_name(self) -> Option<&'static str> {
1120 match self {
1121 Self::asc => Some("asc"),
1122 Self::desc => Some("desc"),
1123 _ => None,
1124 }
1125 }
1126 }
1127 impl ::core::fmt::Debug for SortDir {
1128 fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
1129 if let Some(name) = self.variant_name() {
1130 f.write_str(name)
1131 } else {
1132 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1133 }
1134 }
1135 }
1136 impl<'a> ::flatbuffers::Follow<'a> for SortDir {
1137 type Inner = Self;
1138 #[inline]
1139 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1140 let b = unsafe { ::flatbuffers::read_scalar_at::<u8>(buf, loc) };
1141 Self(b)
1142 }
1143 }
1144
1145 impl ::flatbuffers::Push for SortDir {
1146 type Output = SortDir;
1147 #[inline]
1148 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1149 unsafe { ::flatbuffers::emplace_scalar::<u8>(dst, self.0) };
1150 }
1151 }
1152
1153 impl ::flatbuffers::EndianScalar for SortDir {
1154 type Scalar = u8;
1155 #[inline]
1156 fn to_little_endian(self) -> u8 {
1157 self.0.to_le()
1158 }
1159 #[inline]
1160 #[allow(clippy::wrong_self_convention)]
1161 fn from_little_endian(v: u8) -> Self {
1162 let b = u8::from_le(v);
1163 Self(b)
1164 }
1165 }
1166
1167 impl<'a> ::flatbuffers::Verifiable for SortDir {
1168 #[inline]
1169 fn run_verifier(
1170 v: &mut ::flatbuffers::Verifier,
1171 pos: usize,
1172 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
1173 u8::run_verifier(v, pos)
1174 }
1175 }
1176
1177 impl ::flatbuffers::SimpleToVerifyInSlice for SortDir {}
1178 #[deprecated(
1179 since = "2.0.0",
1180 note = "Use associated constants instead. This will no longer be generated in 2021."
1181 )]
1182 pub const ENUM_MIN_OP_NODE: u8 = 0;
1183 #[deprecated(
1184 since = "2.0.0",
1185 note = "Use associated constants instead. This will no longer be generated in 2021."
1186 )]
1187 pub const ENUM_MAX_OP_NODE: u8 = 25;
1188 #[deprecated(
1189 since = "2.0.0",
1190 note = "Use associated constants instead. This will no longer be generated in 2021."
1191 )]
1192 #[allow(non_camel_case_types)]
1193 pub const ENUM_VALUES_OP_NODE: [OpNode; 26] = [
1194 OpNode::NONE,
1195 OpNode::ScanNodesOp,
1196 OpNode::ScanRelsOp,
1197 OpNode::ExpandOp,
1198 OpNode::OptionalExpandOp,
1199 OpNode::SemiExpandOp,
1200 OpNode::ExpandVarLenOp,
1201 OpNode::FilterOp,
1202 OpNode::BlockMarkerOp,
1203 OpNode::ProjectOp,
1204 OpNode::AggregateOp,
1205 OpNode::SortOp,
1206 OpNode::LimitOp,
1207 OpNode::UnwindOp,
1208 OpNode::PathConstructOp,
1209 OpNode::UnionOp,
1210 OpNode::CreateNodeOp,
1211 OpNode::CreateRelOp,
1212 OpNode::MergeOp,
1213 OpNode::DeleteOp,
1214 OpNode::SetPropertyOp,
1215 OpNode::RemovePropertyOp,
1216 OpNode::VectorScanOp,
1217 OpNode::RerankOp,
1218 OpNode::ReturnOp,
1219 OpNode::ConstRowOp,
1220 ];
1221
1222 #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1223 #[repr(transparent)]
1224 pub struct OpNode(pub u8);
1225 #[allow(non_upper_case_globals)]
1226 impl OpNode {
1227 pub const NONE: Self = Self(0);
1228 pub const ScanNodesOp: Self = Self(1);
1229 pub const ScanRelsOp: Self = Self(2);
1230 pub const ExpandOp: Self = Self(3);
1231 pub const OptionalExpandOp: Self = Self(4);
1232 pub const SemiExpandOp: Self = Self(5);
1233 pub const ExpandVarLenOp: Self = Self(6);
1234 pub const FilterOp: Self = Self(7);
1235 pub const BlockMarkerOp: Self = Self(8);
1236 pub const ProjectOp: Self = Self(9);
1237 pub const AggregateOp: Self = Self(10);
1238 pub const SortOp: Self = Self(11);
1239 pub const LimitOp: Self = Self(12);
1240 pub const UnwindOp: Self = Self(13);
1241 pub const PathConstructOp: Self = Self(14);
1242 pub const UnionOp: Self = Self(15);
1243 pub const CreateNodeOp: Self = Self(16);
1244 pub const CreateRelOp: Self = Self(17);
1245 pub const MergeOp: Self = Self(18);
1246 pub const DeleteOp: Self = Self(19);
1247 pub const SetPropertyOp: Self = Self(20);
1248 pub const RemovePropertyOp: Self = Self(21);
1249 pub const VectorScanOp: Self = Self(22);
1250 pub const RerankOp: Self = Self(23);
1251 pub const ReturnOp: Self = Self(24);
1252 pub const ConstRowOp: Self = Self(25);
1253
1254 pub const ENUM_MIN: u8 = 0;
1255 pub const ENUM_MAX: u8 = 25;
1256 pub const ENUM_VALUES: &'static [Self] = &[
1257 Self::NONE,
1258 Self::ScanNodesOp,
1259 Self::ScanRelsOp,
1260 Self::ExpandOp,
1261 Self::OptionalExpandOp,
1262 Self::SemiExpandOp,
1263 Self::ExpandVarLenOp,
1264 Self::FilterOp,
1265 Self::BlockMarkerOp,
1266 Self::ProjectOp,
1267 Self::AggregateOp,
1268 Self::SortOp,
1269 Self::LimitOp,
1270 Self::UnwindOp,
1271 Self::PathConstructOp,
1272 Self::UnionOp,
1273 Self::CreateNodeOp,
1274 Self::CreateRelOp,
1275 Self::MergeOp,
1276 Self::DeleteOp,
1277 Self::SetPropertyOp,
1278 Self::RemovePropertyOp,
1279 Self::VectorScanOp,
1280 Self::RerankOp,
1281 Self::ReturnOp,
1282 Self::ConstRowOp,
1283 ];
1284 pub fn variant_name(self) -> Option<&'static str> {
1286 match self {
1287 Self::NONE => Some("NONE"),
1288 Self::ScanNodesOp => Some("ScanNodesOp"),
1289 Self::ScanRelsOp => Some("ScanRelsOp"),
1290 Self::ExpandOp => Some("ExpandOp"),
1291 Self::OptionalExpandOp => Some("OptionalExpandOp"),
1292 Self::SemiExpandOp => Some("SemiExpandOp"),
1293 Self::ExpandVarLenOp => Some("ExpandVarLenOp"),
1294 Self::FilterOp => Some("FilterOp"),
1295 Self::BlockMarkerOp => Some("BlockMarkerOp"),
1296 Self::ProjectOp => Some("ProjectOp"),
1297 Self::AggregateOp => Some("AggregateOp"),
1298 Self::SortOp => Some("SortOp"),
1299 Self::LimitOp => Some("LimitOp"),
1300 Self::UnwindOp => Some("UnwindOp"),
1301 Self::PathConstructOp => Some("PathConstructOp"),
1302 Self::UnionOp => Some("UnionOp"),
1303 Self::CreateNodeOp => Some("CreateNodeOp"),
1304 Self::CreateRelOp => Some("CreateRelOp"),
1305 Self::MergeOp => Some("MergeOp"),
1306 Self::DeleteOp => Some("DeleteOp"),
1307 Self::SetPropertyOp => Some("SetPropertyOp"),
1308 Self::RemovePropertyOp => Some("RemovePropertyOp"),
1309 Self::VectorScanOp => Some("VectorScanOp"),
1310 Self::RerankOp => Some("RerankOp"),
1311 Self::ReturnOp => Some("ReturnOp"),
1312 Self::ConstRowOp => Some("ConstRowOp"),
1313 _ => None,
1314 }
1315 }
1316 }
1317 impl ::core::fmt::Debug for OpNode {
1318 fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
1319 if let Some(name) = self.variant_name() {
1320 f.write_str(name)
1321 } else {
1322 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1323 }
1324 }
1325 }
1326 impl<'a> ::flatbuffers::Follow<'a> for OpNode {
1327 type Inner = Self;
1328 #[inline]
1329 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1330 let b = unsafe { ::flatbuffers::read_scalar_at::<u8>(buf, loc) };
1331 Self(b)
1332 }
1333 }
1334
1335 impl ::flatbuffers::Push for OpNode {
1336 type Output = OpNode;
1337 #[inline]
1338 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1339 unsafe { ::flatbuffers::emplace_scalar::<u8>(dst, self.0) };
1340 }
1341 }
1342
1343 impl ::flatbuffers::EndianScalar for OpNode {
1344 type Scalar = u8;
1345 #[inline]
1346 fn to_little_endian(self) -> u8 {
1347 self.0.to_le()
1348 }
1349 #[inline]
1350 #[allow(clippy::wrong_self_convention)]
1351 fn from_little_endian(v: u8) -> Self {
1352 let b = u8::from_le(v);
1353 Self(b)
1354 }
1355 }
1356
1357 impl<'a> ::flatbuffers::Verifiable for OpNode {
1358 #[inline]
1359 fn run_verifier(
1360 v: &mut ::flatbuffers::Verifier,
1361 pos: usize,
1362 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
1363 u8::run_verifier(v, pos)
1364 }
1365 }
1366
1367 impl ::flatbuffers::SimpleToVerifyInSlice for OpNode {}
1368 pub struct OpNodeUnionTableOffset {}
1369
1370 pub enum VersionOffset {}
1371 #[derive(Copy, Clone, PartialEq)]
1372
1373 pub struct Version<'a> {
1376 pub _tab: ::flatbuffers::Table<'a>,
1377 }
1378
1379 impl<'a> ::flatbuffers::Follow<'a> for Version<'a> {
1380 type Inner = Version<'a>;
1381 #[inline]
1382 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1383 Self {
1384 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
1385 }
1386 }
1387 }
1388
1389 impl<'a> Version<'a> {
1390 pub const VT_MAJOR: ::flatbuffers::VOffsetT = 4;
1391 pub const VT_MINOR: ::flatbuffers::VOffsetT = 6;
1392 pub const VT_PATCH: ::flatbuffers::VOffsetT = 8;
1393 pub const VT_PRODUCER: ::flatbuffers::VOffsetT = 10;
1394
1395 #[inline]
1396 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
1397 Version { _tab: table }
1398 }
1399 #[allow(unused_mut)]
1400 pub fn create<
1401 'bldr: 'args,
1402 'args: 'mut_bldr,
1403 'mut_bldr,
1404 A: ::flatbuffers::Allocator + 'bldr,
1405 >(
1406 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
1407 args: &'args VersionArgs<'args>,
1408 ) -> ::flatbuffers::WIPOffset<Version<'bldr>> {
1409 let mut builder = VersionBuilder::new(_fbb);
1410 if let Some(x) = args.producer {
1411 builder.add_producer(x);
1412 }
1413 builder.add_patch(args.patch);
1414 builder.add_minor(args.minor);
1415 builder.add_major(args.major);
1416 builder.finish()
1417 }
1418
1419 #[inline]
1420 pub fn major(&self) -> u32 {
1421 unsafe { self._tab.get::<u32>(Version::VT_MAJOR, Some(0)).unwrap() }
1425 }
1426 #[inline]
1427 pub fn minor(&self) -> u32 {
1428 unsafe { self._tab.get::<u32>(Version::VT_MINOR, Some(0)).unwrap() }
1432 }
1433 #[inline]
1434 pub fn patch(&self) -> u32 {
1435 unsafe { self._tab.get::<u32>(Version::VT_PATCH, Some(0)).unwrap() }
1439 }
1440 #[inline]
1442 pub fn producer(&self) -> Option<&'a str> {
1443 unsafe {
1447 self._tab
1448 .get::<::flatbuffers::ForwardsUOffset<&str>>(Version::VT_PRODUCER, None)
1449 }
1450 }
1451 }
1452
1453 impl ::flatbuffers::Verifiable for Version<'_> {
1454 #[inline]
1455 fn run_verifier(
1456 v: &mut ::flatbuffers::Verifier,
1457 pos: usize,
1458 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
1459 v.visit_table(pos)?
1460 .visit_field::<u32>("major", Self::VT_MAJOR, false)?
1461 .visit_field::<u32>("minor", Self::VT_MINOR, false)?
1462 .visit_field::<u32>("patch", Self::VT_PATCH, false)?
1463 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
1464 "producer",
1465 Self::VT_PRODUCER,
1466 false,
1467 )?
1468 .finish();
1469 Ok(())
1470 }
1471 }
1472 pub struct VersionArgs<'a> {
1473 pub major: u32,
1474 pub minor: u32,
1475 pub patch: u32,
1476 pub producer: Option<::flatbuffers::WIPOffset<&'a str>>,
1477 }
1478 impl<'a> Default for VersionArgs<'a> {
1479 #[inline]
1480 fn default() -> Self {
1481 VersionArgs {
1482 major: 0,
1483 minor: 0,
1484 patch: 0,
1485 producer: None,
1486 }
1487 }
1488 }
1489
1490 pub struct VersionBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
1491 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
1492 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
1493 }
1494 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> VersionBuilder<'a, 'b, A> {
1495 #[inline]
1496 pub fn add_major(&mut self, major: u32) {
1497 self.fbb_.push_slot::<u32>(Version::VT_MAJOR, major, 0);
1498 }
1499 #[inline]
1500 pub fn add_minor(&mut self, minor: u32) {
1501 self.fbb_.push_slot::<u32>(Version::VT_MINOR, minor, 0);
1502 }
1503 #[inline]
1504 pub fn add_patch(&mut self, patch: u32) {
1505 self.fbb_.push_slot::<u32>(Version::VT_PATCH, patch, 0);
1506 }
1507 #[inline]
1508 pub fn add_producer(&mut self, producer: ::flatbuffers::WIPOffset<&'b str>) {
1509 self.fbb_
1510 .push_slot_always::<::flatbuffers::WIPOffset<_>>(Version::VT_PRODUCER, producer);
1511 }
1512 #[inline]
1513 pub fn new(
1514 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
1515 ) -> VersionBuilder<'a, 'b, A> {
1516 let start = _fbb.start_table();
1517 VersionBuilder {
1518 fbb_: _fbb,
1519 start_: start,
1520 }
1521 }
1522 #[inline]
1523 pub fn finish(self) -> ::flatbuffers::WIPOffset<Version<'a>> {
1524 let o = self.fbb_.end_table(self.start_);
1525 ::flatbuffers::WIPOffset::new(o.value())
1526 }
1527 }
1528
1529 impl ::core::fmt::Debug for Version<'_> {
1530 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1531 let mut ds = f.debug_struct("Version");
1532 ds.field("major", &self.major());
1533 ds.field("minor", &self.minor());
1534 ds.field("patch", &self.patch());
1535 ds.field("producer", &self.producer());
1536 ds.finish()
1537 }
1538 }
1539 pub enum CapabilityVersionRangeOffset {}
1540 #[derive(Copy, Clone, PartialEq)]
1541
1542 pub struct CapabilityVersionRange<'a> {
1544 pub _tab: ::flatbuffers::Table<'a>,
1545 }
1546
1547 impl<'a> ::flatbuffers::Follow<'a> for CapabilityVersionRange<'a> {
1548 type Inner = CapabilityVersionRange<'a>;
1549 #[inline]
1550 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1551 Self {
1552 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
1553 }
1554 }
1555 }
1556
1557 impl<'a> CapabilityVersionRange<'a> {
1558 pub const VT_MIN_MAJOR: ::flatbuffers::VOffsetT = 4;
1559 pub const VT_MIN_MINOR: ::flatbuffers::VOffsetT = 6;
1560 pub const VT_MIN_PATCH: ::flatbuffers::VOffsetT = 8;
1561 pub const VT_MAX_MAJOR: ::flatbuffers::VOffsetT = 10;
1562 pub const VT_MAX_MINOR: ::flatbuffers::VOffsetT = 12;
1563 pub const VT_MAX_PATCH: ::flatbuffers::VOffsetT = 14;
1564
1565 #[inline]
1566 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
1567 CapabilityVersionRange { _tab: table }
1568 }
1569 #[allow(unused_mut)]
1570 pub fn create<
1571 'bldr: 'args,
1572 'args: 'mut_bldr,
1573 'mut_bldr,
1574 A: ::flatbuffers::Allocator + 'bldr,
1575 >(
1576 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
1577 args: &'args CapabilityVersionRangeArgs,
1578 ) -> ::flatbuffers::WIPOffset<CapabilityVersionRange<'bldr>> {
1579 let mut builder = CapabilityVersionRangeBuilder::new(_fbb);
1580 builder.add_max_patch(args.max_patch);
1581 builder.add_max_minor(args.max_minor);
1582 builder.add_max_major(args.max_major);
1583 builder.add_min_patch(args.min_patch);
1584 builder.add_min_minor(args.min_minor);
1585 builder.add_min_major(args.min_major);
1586 builder.finish()
1587 }
1588
1589 #[inline]
1590 pub fn min_major(&self) -> u32 {
1591 unsafe {
1595 self._tab
1596 .get::<u32>(CapabilityVersionRange::VT_MIN_MAJOR, Some(0))
1597 .unwrap()
1598 }
1599 }
1600 #[inline]
1601 pub fn min_minor(&self) -> u32 {
1602 unsafe {
1606 self._tab
1607 .get::<u32>(CapabilityVersionRange::VT_MIN_MINOR, Some(0))
1608 .unwrap()
1609 }
1610 }
1611 #[inline]
1612 pub fn min_patch(&self) -> u32 {
1613 unsafe {
1617 self._tab
1618 .get::<u32>(CapabilityVersionRange::VT_MIN_PATCH, Some(0))
1619 .unwrap()
1620 }
1621 }
1622 #[inline]
1623 pub fn max_major(&self) -> u32 {
1624 unsafe {
1628 self._tab
1629 .get::<u32>(CapabilityVersionRange::VT_MAX_MAJOR, Some(0))
1630 .unwrap()
1631 }
1632 }
1633 #[inline]
1634 pub fn max_minor(&self) -> u32 {
1635 unsafe {
1639 self._tab
1640 .get::<u32>(CapabilityVersionRange::VT_MAX_MINOR, Some(0))
1641 .unwrap()
1642 }
1643 }
1644 #[inline]
1645 pub fn max_patch(&self) -> u32 {
1646 unsafe {
1650 self._tab
1651 .get::<u32>(CapabilityVersionRange::VT_MAX_PATCH, Some(0))
1652 .unwrap()
1653 }
1654 }
1655 }
1656
1657 impl ::flatbuffers::Verifiable for CapabilityVersionRange<'_> {
1658 #[inline]
1659 fn run_verifier(
1660 v: &mut ::flatbuffers::Verifier,
1661 pos: usize,
1662 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
1663 v.visit_table(pos)?
1664 .visit_field::<u32>("min_major", Self::VT_MIN_MAJOR, false)?
1665 .visit_field::<u32>("min_minor", Self::VT_MIN_MINOR, false)?
1666 .visit_field::<u32>("min_patch", Self::VT_MIN_PATCH, false)?
1667 .visit_field::<u32>("max_major", Self::VT_MAX_MAJOR, false)?
1668 .visit_field::<u32>("max_minor", Self::VT_MAX_MINOR, false)?
1669 .visit_field::<u32>("max_patch", Self::VT_MAX_PATCH, false)?
1670 .finish();
1671 Ok(())
1672 }
1673 }
1674 pub struct CapabilityVersionRangeArgs {
1675 pub min_major: u32,
1676 pub min_minor: u32,
1677 pub min_patch: u32,
1678 pub max_major: u32,
1679 pub max_minor: u32,
1680 pub max_patch: u32,
1681 }
1682 impl<'a> Default for CapabilityVersionRangeArgs {
1683 #[inline]
1684 fn default() -> Self {
1685 CapabilityVersionRangeArgs {
1686 min_major: 0,
1687 min_minor: 0,
1688 min_patch: 0,
1689 max_major: 0,
1690 max_minor: 0,
1691 max_patch: 0,
1692 }
1693 }
1694 }
1695
1696 pub struct CapabilityVersionRangeBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
1697 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
1698 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
1699 }
1700 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> CapabilityVersionRangeBuilder<'a, 'b, A> {
1701 #[inline]
1702 pub fn add_min_major(&mut self, min_major: u32) {
1703 self.fbb_
1704 .push_slot::<u32>(CapabilityVersionRange::VT_MIN_MAJOR, min_major, 0);
1705 }
1706 #[inline]
1707 pub fn add_min_minor(&mut self, min_minor: u32) {
1708 self.fbb_
1709 .push_slot::<u32>(CapabilityVersionRange::VT_MIN_MINOR, min_minor, 0);
1710 }
1711 #[inline]
1712 pub fn add_min_patch(&mut self, min_patch: u32) {
1713 self.fbb_
1714 .push_slot::<u32>(CapabilityVersionRange::VT_MIN_PATCH, min_patch, 0);
1715 }
1716 #[inline]
1717 pub fn add_max_major(&mut self, max_major: u32) {
1718 self.fbb_
1719 .push_slot::<u32>(CapabilityVersionRange::VT_MAX_MAJOR, max_major, 0);
1720 }
1721 #[inline]
1722 pub fn add_max_minor(&mut self, max_minor: u32) {
1723 self.fbb_
1724 .push_slot::<u32>(CapabilityVersionRange::VT_MAX_MINOR, max_minor, 0);
1725 }
1726 #[inline]
1727 pub fn add_max_patch(&mut self, max_patch: u32) {
1728 self.fbb_
1729 .push_slot::<u32>(CapabilityVersionRange::VT_MAX_PATCH, max_patch, 0);
1730 }
1731 #[inline]
1732 pub fn new(
1733 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
1734 ) -> CapabilityVersionRangeBuilder<'a, 'b, A> {
1735 let start = _fbb.start_table();
1736 CapabilityVersionRangeBuilder {
1737 fbb_: _fbb,
1738 start_: start,
1739 }
1740 }
1741 #[inline]
1742 pub fn finish(self) -> ::flatbuffers::WIPOffset<CapabilityVersionRange<'a>> {
1743 let o = self.fbb_.end_table(self.start_);
1744 ::flatbuffers::WIPOffset::new(o.value())
1745 }
1746 }
1747
1748 impl ::core::fmt::Debug for CapabilityVersionRange<'_> {
1749 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1750 let mut ds = f.debug_struct("CapabilityVersionRange");
1751 ds.field("min_major", &self.min_major());
1752 ds.field("min_minor", &self.min_minor());
1753 ds.field("min_patch", &self.min_patch());
1754 ds.field("max_major", &self.max_major());
1755 ds.field("max_minor", &self.max_minor());
1756 ds.field("max_patch", &self.max_patch());
1757 ds.finish()
1758 }
1759 }
1760 pub enum OpOrderingDeclOffset {}
1761 #[derive(Copy, Clone, PartialEq)]
1762
1763 pub struct OpOrderingDecl<'a> {
1764 pub _tab: ::flatbuffers::Table<'a>,
1765 }
1766
1767 impl<'a> ::flatbuffers::Follow<'a> for OpOrderingDecl<'a> {
1768 type Inner = OpOrderingDecl<'a>;
1769 #[inline]
1770 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1771 Self {
1772 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
1773 }
1774 }
1775 }
1776
1777 impl<'a> OpOrderingDecl<'a> {
1778 pub const VT_OP: ::flatbuffers::VOffsetT = 4;
1779 pub const VT_CONTRACT: ::flatbuffers::VOffsetT = 6;
1780
1781 #[inline]
1782 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
1783 OpOrderingDecl { _tab: table }
1784 }
1785 #[allow(unused_mut)]
1786 pub fn create<
1787 'bldr: 'args,
1788 'args: 'mut_bldr,
1789 'mut_bldr,
1790 A: ::flatbuffers::Allocator + 'bldr,
1791 >(
1792 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
1793 args: &'args OpOrderingDeclArgs<'args>,
1794 ) -> ::flatbuffers::WIPOffset<OpOrderingDecl<'bldr>> {
1795 let mut builder = OpOrderingDeclBuilder::new(_fbb);
1796 if let Some(x) = args.op {
1797 builder.add_op(x);
1798 }
1799 builder.add_contract(args.contract);
1800 builder.finish()
1801 }
1802
1803 #[inline]
1804 pub fn op(&self) -> Option<&'a str> {
1805 unsafe {
1809 self._tab
1810 .get::<::flatbuffers::ForwardsUOffset<&str>>(OpOrderingDecl::VT_OP, None)
1811 }
1812 }
1813 #[inline]
1814 pub fn contract(&self) -> CapabilityOrderingContract {
1815 unsafe {
1819 self._tab
1820 .get::<CapabilityOrderingContract>(
1821 OpOrderingDecl::VT_CONTRACT,
1822 Some(CapabilityOrderingContract::engine_defined_stable),
1823 )
1824 .unwrap()
1825 }
1826 }
1827 }
1828
1829 impl ::flatbuffers::Verifiable for OpOrderingDecl<'_> {
1830 #[inline]
1831 fn run_verifier(
1832 v: &mut ::flatbuffers::Verifier,
1833 pos: usize,
1834 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
1835 v.visit_table(pos)?
1836 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>("op", Self::VT_OP, false)?
1837 .visit_field::<CapabilityOrderingContract>("contract", Self::VT_CONTRACT, false)?
1838 .finish();
1839 Ok(())
1840 }
1841 }
1842 pub struct OpOrderingDeclArgs<'a> {
1843 pub op: Option<::flatbuffers::WIPOffset<&'a str>>,
1844 pub contract: CapabilityOrderingContract,
1845 }
1846 impl<'a> Default for OpOrderingDeclArgs<'a> {
1847 #[inline]
1848 fn default() -> Self {
1849 OpOrderingDeclArgs {
1850 op: None,
1851 contract: CapabilityOrderingContract::engine_defined_stable,
1852 }
1853 }
1854 }
1855
1856 pub struct OpOrderingDeclBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
1857 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
1858 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
1859 }
1860 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> OpOrderingDeclBuilder<'a, 'b, A> {
1861 #[inline]
1862 pub fn add_op(&mut self, op: ::flatbuffers::WIPOffset<&'b str>) {
1863 self.fbb_
1864 .push_slot_always::<::flatbuffers::WIPOffset<_>>(OpOrderingDecl::VT_OP, op);
1865 }
1866 #[inline]
1867 pub fn add_contract(&mut self, contract: CapabilityOrderingContract) {
1868 self.fbb_.push_slot::<CapabilityOrderingContract>(
1869 OpOrderingDecl::VT_CONTRACT,
1870 contract,
1871 CapabilityOrderingContract::engine_defined_stable,
1872 );
1873 }
1874 #[inline]
1875 pub fn new(
1876 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
1877 ) -> OpOrderingDeclBuilder<'a, 'b, A> {
1878 let start = _fbb.start_table();
1879 OpOrderingDeclBuilder {
1880 fbb_: _fbb,
1881 start_: start,
1882 }
1883 }
1884 #[inline]
1885 pub fn finish(self) -> ::flatbuffers::WIPOffset<OpOrderingDecl<'a>> {
1886 let o = self.fbb_.end_table(self.start_);
1887 ::flatbuffers::WIPOffset::new(o.value())
1888 }
1889 }
1890
1891 impl ::core::fmt::Debug for OpOrderingDecl<'_> {
1892 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1893 let mut ds = f.debug_struct("OpOrderingDecl");
1894 ds.field("op", &self.op());
1895 ds.field("contract", &self.contract());
1896 ds.finish()
1897 }
1898 }
1899 pub enum EngineCapabilityDeclOffset {}
1900 #[derive(Copy, Clone, PartialEq)]
1901
1902 pub struct EngineCapabilityDecl<'a> {
1904 pub _tab: ::flatbuffers::Table<'a>,
1905 }
1906
1907 impl<'a> ::flatbuffers::Follow<'a> for EngineCapabilityDecl<'a> {
1908 type Inner = EngineCapabilityDecl<'a>;
1909 #[inline]
1910 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1911 Self {
1912 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
1913 }
1914 }
1915 }
1916
1917 impl<'a> EngineCapabilityDecl<'a> {
1918 pub const VT_VERSION_RANGE: ::flatbuffers::VOffsetT = 4;
1919 pub const VT_SUPPORTED_OPS: ::flatbuffers::VOffsetT = 6;
1920 pub const VT_SUPPORTED_EXPRS: ::flatbuffers::VOffsetT = 8;
1921 pub const VT_OP_ORDERING: ::flatbuffers::VOffsetT = 10;
1922 pub const VT_SUPPORTS_GRAPH_REF: ::flatbuffers::VOffsetT = 12;
1923 pub const VT_SUPPORTS_MULTI_GRAPH: ::flatbuffers::VOffsetT = 14;
1924 pub const VT_SUPPORTS_GRAPH_PARAMS: ::flatbuffers::VOffsetT = 16;
1925
1926 #[inline]
1927 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
1928 EngineCapabilityDecl { _tab: table }
1929 }
1930 #[allow(unused_mut)]
1931 pub fn create<
1932 'bldr: 'args,
1933 'args: 'mut_bldr,
1934 'mut_bldr,
1935 A: ::flatbuffers::Allocator + 'bldr,
1936 >(
1937 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
1938 args: &'args EngineCapabilityDeclArgs<'args>,
1939 ) -> ::flatbuffers::WIPOffset<EngineCapabilityDecl<'bldr>> {
1940 let mut builder = EngineCapabilityDeclBuilder::new(_fbb);
1941 if let Some(x) = args.op_ordering {
1942 builder.add_op_ordering(x);
1943 }
1944 if let Some(x) = args.supported_exprs {
1945 builder.add_supported_exprs(x);
1946 }
1947 if let Some(x) = args.supported_ops {
1948 builder.add_supported_ops(x);
1949 }
1950 if let Some(x) = args.version_range {
1951 builder.add_version_range(x);
1952 }
1953 builder.add_supports_graph_params(args.supports_graph_params);
1954 builder.add_supports_multi_graph(args.supports_multi_graph);
1955 builder.add_supports_graph_ref(args.supports_graph_ref);
1956 builder.finish()
1957 }
1958
1959 #[inline]
1960 pub fn version_range(&self) -> CapabilityVersionRange<'a> {
1961 unsafe {
1965 self._tab
1966 .get::<::flatbuffers::ForwardsUOffset<CapabilityVersionRange>>(
1967 EngineCapabilityDecl::VT_VERSION_RANGE,
1968 None,
1969 )
1970 .unwrap()
1971 }
1972 }
1973 #[inline]
1974 pub fn supported_ops(
1975 &self,
1976 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
1977 unsafe {
1981 self._tab.get::<::flatbuffers::ForwardsUOffset<
1982 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
1983 >>(EngineCapabilityDecl::VT_SUPPORTED_OPS, None)
1984 }
1985 }
1986 #[inline]
1987 pub fn supported_exprs(
1988 &self,
1989 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
1990 unsafe {
1994 self._tab.get::<::flatbuffers::ForwardsUOffset<
1995 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
1996 >>(EngineCapabilityDecl::VT_SUPPORTED_EXPRS, None)
1997 }
1998 }
1999 #[inline]
2000 pub fn op_ordering(
2001 &self,
2002 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<OpOrderingDecl<'a>>>>
2003 {
2004 unsafe {
2008 self._tab.get::<::flatbuffers::ForwardsUOffset<
2009 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<OpOrderingDecl>>,
2010 >>(EngineCapabilityDecl::VT_OP_ORDERING, None)
2011 }
2012 }
2013 #[inline]
2014 pub fn supports_graph_ref(&self) -> bool {
2015 unsafe {
2019 self._tab
2020 .get::<bool>(EngineCapabilityDecl::VT_SUPPORTS_GRAPH_REF, Some(false))
2021 .unwrap()
2022 }
2023 }
2024 #[inline]
2025 pub fn supports_multi_graph(&self) -> bool {
2026 unsafe {
2030 self._tab
2031 .get::<bool>(EngineCapabilityDecl::VT_SUPPORTS_MULTI_GRAPH, Some(false))
2032 .unwrap()
2033 }
2034 }
2035 #[inline]
2036 pub fn supports_graph_params(&self) -> bool {
2037 unsafe {
2041 self._tab
2042 .get::<bool>(EngineCapabilityDecl::VT_SUPPORTS_GRAPH_PARAMS, Some(false))
2043 .unwrap()
2044 }
2045 }
2046 }
2047
2048 impl ::flatbuffers::Verifiable for EngineCapabilityDecl<'_> {
2049 #[inline]
2050 fn run_verifier(
2051 v: &mut ::flatbuffers::Verifier,
2052 pos: usize,
2053 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
2054 v.visit_table(pos)?
2055 .visit_field::<::flatbuffers::ForwardsUOffset<CapabilityVersionRange>>(
2056 "version_range",
2057 Self::VT_VERSION_RANGE,
2058 true,
2059 )?
2060 .visit_field::<::flatbuffers::ForwardsUOffset<
2061 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
2062 >>("supported_ops", Self::VT_SUPPORTED_OPS, false)?
2063 .visit_field::<::flatbuffers::ForwardsUOffset<
2064 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
2065 >>("supported_exprs", Self::VT_SUPPORTED_EXPRS, false)?
2066 .visit_field::<::flatbuffers::ForwardsUOffset<
2067 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<OpOrderingDecl>>,
2068 >>("op_ordering", Self::VT_OP_ORDERING, false)?
2069 .visit_field::<bool>("supports_graph_ref", Self::VT_SUPPORTS_GRAPH_REF, false)?
2070 .visit_field::<bool>("supports_multi_graph", Self::VT_SUPPORTS_MULTI_GRAPH, false)?
2071 .visit_field::<bool>(
2072 "supports_graph_params",
2073 Self::VT_SUPPORTS_GRAPH_PARAMS,
2074 false,
2075 )?
2076 .finish();
2077 Ok(())
2078 }
2079 }
2080 pub struct EngineCapabilityDeclArgs<'a> {
2081 pub version_range: Option<::flatbuffers::WIPOffset<CapabilityVersionRange<'a>>>,
2082 pub supported_ops: Option<
2083 ::flatbuffers::WIPOffset<
2084 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
2085 >,
2086 >,
2087 pub supported_exprs: Option<
2088 ::flatbuffers::WIPOffset<
2089 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
2090 >,
2091 >,
2092 pub op_ordering: Option<
2093 ::flatbuffers::WIPOffset<
2094 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<OpOrderingDecl<'a>>>,
2095 >,
2096 >,
2097 pub supports_graph_ref: bool,
2098 pub supports_multi_graph: bool,
2099 pub supports_graph_params: bool,
2100 }
2101 impl<'a> Default for EngineCapabilityDeclArgs<'a> {
2102 #[inline]
2103 fn default() -> Self {
2104 EngineCapabilityDeclArgs {
2105 version_range: None, supported_ops: None,
2107 supported_exprs: None,
2108 op_ordering: None,
2109 supports_graph_ref: false,
2110 supports_multi_graph: false,
2111 supports_graph_params: false,
2112 }
2113 }
2114 }
2115
2116 pub struct EngineCapabilityDeclBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
2117 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
2118 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
2119 }
2120 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> EngineCapabilityDeclBuilder<'a, 'b, A> {
2121 #[inline]
2122 pub fn add_version_range(
2123 &mut self,
2124 version_range: ::flatbuffers::WIPOffset<CapabilityVersionRange<'b>>,
2125 ) {
2126 self.fbb_
2127 .push_slot_always::<::flatbuffers::WIPOffset<CapabilityVersionRange>>(
2128 EngineCapabilityDecl::VT_VERSION_RANGE,
2129 version_range,
2130 );
2131 }
2132 #[inline]
2133 pub fn add_supported_ops(
2134 &mut self,
2135 supported_ops: ::flatbuffers::WIPOffset<
2136 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
2137 >,
2138 ) {
2139 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
2140 EngineCapabilityDecl::VT_SUPPORTED_OPS,
2141 supported_ops,
2142 );
2143 }
2144 #[inline]
2145 pub fn add_supported_exprs(
2146 &mut self,
2147 supported_exprs: ::flatbuffers::WIPOffset<
2148 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
2149 >,
2150 ) {
2151 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
2152 EngineCapabilityDecl::VT_SUPPORTED_EXPRS,
2153 supported_exprs,
2154 );
2155 }
2156 #[inline]
2157 pub fn add_op_ordering(
2158 &mut self,
2159 op_ordering: ::flatbuffers::WIPOffset<
2160 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<OpOrderingDecl<'b>>>,
2161 >,
2162 ) {
2163 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
2164 EngineCapabilityDecl::VT_OP_ORDERING,
2165 op_ordering,
2166 );
2167 }
2168 #[inline]
2169 pub fn add_supports_graph_ref(&mut self, supports_graph_ref: bool) {
2170 self.fbb_.push_slot::<bool>(
2171 EngineCapabilityDecl::VT_SUPPORTS_GRAPH_REF,
2172 supports_graph_ref,
2173 false,
2174 );
2175 }
2176 #[inline]
2177 pub fn add_supports_multi_graph(&mut self, supports_multi_graph: bool) {
2178 self.fbb_.push_slot::<bool>(
2179 EngineCapabilityDecl::VT_SUPPORTS_MULTI_GRAPH,
2180 supports_multi_graph,
2181 false,
2182 );
2183 }
2184 #[inline]
2185 pub fn add_supports_graph_params(&mut self, supports_graph_params: bool) {
2186 self.fbb_.push_slot::<bool>(
2187 EngineCapabilityDecl::VT_SUPPORTS_GRAPH_PARAMS,
2188 supports_graph_params,
2189 false,
2190 );
2191 }
2192 #[inline]
2193 pub fn new(
2194 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
2195 ) -> EngineCapabilityDeclBuilder<'a, 'b, A> {
2196 let start = _fbb.start_table();
2197 EngineCapabilityDeclBuilder {
2198 fbb_: _fbb,
2199 start_: start,
2200 }
2201 }
2202 #[inline]
2203 pub fn finish(self) -> ::flatbuffers::WIPOffset<EngineCapabilityDecl<'a>> {
2204 let o = self.fbb_.end_table(self.start_);
2205 self.fbb_
2206 .required(o, EngineCapabilityDecl::VT_VERSION_RANGE, "version_range");
2207 ::flatbuffers::WIPOffset::new(o.value())
2208 }
2209 }
2210
2211 impl ::core::fmt::Debug for EngineCapabilityDecl<'_> {
2212 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2213 let mut ds = f.debug_struct("EngineCapabilityDecl");
2214 ds.field("version_range", &self.version_range());
2215 ds.field("supported_ops", &self.supported_ops());
2216 ds.field("supported_exprs", &self.supported_exprs());
2217 ds.field("op_ordering", &self.op_ordering());
2218 ds.field("supports_graph_ref", &self.supports_graph_ref());
2219 ds.field("supports_multi_graph", &self.supports_multi_graph());
2220 ds.field("supports_graph_params", &self.supports_graph_params());
2221 ds.finish()
2222 }
2223 }
2224 pub enum ColDefOffset {}
2225 #[derive(Copy, Clone, PartialEq)]
2226
2227 pub struct ColDef<'a> {
2228 pub _tab: ::flatbuffers::Table<'a>,
2229 }
2230
2231 impl<'a> ::flatbuffers::Follow<'a> for ColDef<'a> {
2232 type Inner = ColDef<'a>;
2233 #[inline]
2234 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2235 Self {
2236 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
2237 }
2238 }
2239 }
2240
2241 impl<'a> ColDef<'a> {
2242 pub const VT_NAME: ::flatbuffers::VOffsetT = 4;
2243 pub const VT_KIND: ::flatbuffers::VOffsetT = 6;
2244 pub const VT_LOGICAL_TYPE: ::flatbuffers::VOffsetT = 8;
2245 pub const VT_LOGICAL_TYPE_KIND: ::flatbuffers::VOffsetT = 10;
2246 pub const VT_VECTOR_ELEMENT_TYPE: ::flatbuffers::VOffsetT = 12;
2247 pub const VT_VECTOR_DIMENSION: ::flatbuffers::VOffsetT = 14;
2248
2249 #[inline]
2250 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
2251 ColDef { _tab: table }
2252 }
2253 #[allow(unused_mut)]
2254 pub fn create<
2255 'bldr: 'args,
2256 'args: 'mut_bldr,
2257 'mut_bldr,
2258 A: ::flatbuffers::Allocator + 'bldr,
2259 >(
2260 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
2261 args: &'args ColDefArgs<'args>,
2262 ) -> ::flatbuffers::WIPOffset<ColDef<'bldr>> {
2263 let mut builder = ColDefBuilder::new(_fbb);
2264 builder.add_vector_dimension(args.vector_dimension);
2265 if let Some(x) = args.vector_element_type {
2266 builder.add_vector_element_type(x);
2267 }
2268 if let Some(x) = args.logical_type {
2269 builder.add_logical_type(x);
2270 }
2271 if let Some(x) = args.name {
2272 builder.add_name(x);
2273 }
2274 builder.add_logical_type_kind(args.logical_type_kind);
2275 builder.add_kind(args.kind);
2276 builder.finish()
2277 }
2278
2279 #[inline]
2280 pub fn name(&self) -> Option<&'a str> {
2281 unsafe {
2285 self._tab
2286 .get::<::flatbuffers::ForwardsUOffset<&str>>(ColDef::VT_NAME, None)
2287 }
2288 }
2289 #[inline]
2290 pub fn kind(&self) -> ColKind {
2291 unsafe {
2295 self._tab
2296 .get::<ColKind>(ColDef::VT_KIND, Some(ColKind::value))
2297 .unwrap()
2298 }
2299 }
2300 #[inline]
2301 pub fn logical_type(&self) -> Option<&'a str> {
2302 unsafe {
2306 self._tab
2307 .get::<::flatbuffers::ForwardsUOffset<&str>>(ColDef::VT_LOGICAL_TYPE, None)
2308 }
2309 }
2310 #[inline]
2311 pub fn logical_type_kind(&self) -> LogicalType {
2312 unsafe {
2316 self._tab
2317 .get::<LogicalType>(ColDef::VT_LOGICAL_TYPE_KIND, Some(LogicalType::unknown))
2318 .unwrap()
2319 }
2320 }
2321 #[inline]
2322 pub fn vector_element_type(&self) -> Option<&'a str> {
2323 unsafe {
2327 self._tab.get::<::flatbuffers::ForwardsUOffset<&str>>(
2328 ColDef::VT_VECTOR_ELEMENT_TYPE,
2329 None,
2330 )
2331 }
2332 }
2333 #[inline]
2334 pub fn vector_dimension(&self) -> u32 {
2335 unsafe {
2339 self._tab
2340 .get::<u32>(ColDef::VT_VECTOR_DIMENSION, Some(0))
2341 .unwrap()
2342 }
2343 }
2344 }
2345
2346 impl ::flatbuffers::Verifiable for ColDef<'_> {
2347 #[inline]
2348 fn run_verifier(
2349 v: &mut ::flatbuffers::Verifier,
2350 pos: usize,
2351 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
2352 v.visit_table(pos)?
2353 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>("name", Self::VT_NAME, false)?
2354 .visit_field::<ColKind>("kind", Self::VT_KIND, false)?
2355 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
2356 "logical_type",
2357 Self::VT_LOGICAL_TYPE,
2358 false,
2359 )?
2360 .visit_field::<LogicalType>("logical_type_kind", Self::VT_LOGICAL_TYPE_KIND, false)?
2361 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
2362 "vector_element_type",
2363 Self::VT_VECTOR_ELEMENT_TYPE,
2364 false,
2365 )?
2366 .visit_field::<u32>("vector_dimension", Self::VT_VECTOR_DIMENSION, false)?
2367 .finish();
2368 Ok(())
2369 }
2370 }
2371 pub struct ColDefArgs<'a> {
2372 pub name: Option<::flatbuffers::WIPOffset<&'a str>>,
2373 pub kind: ColKind,
2374 pub logical_type: Option<::flatbuffers::WIPOffset<&'a str>>,
2375 pub logical_type_kind: LogicalType,
2376 pub vector_element_type: Option<::flatbuffers::WIPOffset<&'a str>>,
2377 pub vector_dimension: u32,
2378 }
2379 impl<'a> Default for ColDefArgs<'a> {
2380 #[inline]
2381 fn default() -> Self {
2382 ColDefArgs {
2383 name: None,
2384 kind: ColKind::value,
2385 logical_type: None,
2386 logical_type_kind: LogicalType::unknown,
2387 vector_element_type: None,
2388 vector_dimension: 0,
2389 }
2390 }
2391 }
2392
2393 pub struct ColDefBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
2394 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
2395 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
2396 }
2397 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ColDefBuilder<'a, 'b, A> {
2398 #[inline]
2399 pub fn add_name(&mut self, name: ::flatbuffers::WIPOffset<&'b str>) {
2400 self.fbb_
2401 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ColDef::VT_NAME, name);
2402 }
2403 #[inline]
2404 pub fn add_kind(&mut self, kind: ColKind) {
2405 self.fbb_
2406 .push_slot::<ColKind>(ColDef::VT_KIND, kind, ColKind::value);
2407 }
2408 #[inline]
2409 pub fn add_logical_type(&mut self, logical_type: ::flatbuffers::WIPOffset<&'b str>) {
2410 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
2411 ColDef::VT_LOGICAL_TYPE,
2412 logical_type,
2413 );
2414 }
2415 #[inline]
2416 pub fn add_logical_type_kind(&mut self, logical_type_kind: LogicalType) {
2417 self.fbb_.push_slot::<LogicalType>(
2418 ColDef::VT_LOGICAL_TYPE_KIND,
2419 logical_type_kind,
2420 LogicalType::unknown,
2421 );
2422 }
2423 #[inline]
2424 pub fn add_vector_element_type(
2425 &mut self,
2426 vector_element_type: ::flatbuffers::WIPOffset<&'b str>,
2427 ) {
2428 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
2429 ColDef::VT_VECTOR_ELEMENT_TYPE,
2430 vector_element_type,
2431 );
2432 }
2433 #[inline]
2434 pub fn add_vector_dimension(&mut self, vector_dimension: u32) {
2435 self.fbb_
2436 .push_slot::<u32>(ColDef::VT_VECTOR_DIMENSION, vector_dimension, 0);
2437 }
2438 #[inline]
2439 pub fn new(
2440 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
2441 ) -> ColDefBuilder<'a, 'b, A> {
2442 let start = _fbb.start_table();
2443 ColDefBuilder {
2444 fbb_: _fbb,
2445 start_: start,
2446 }
2447 }
2448 #[inline]
2449 pub fn finish(self) -> ::flatbuffers::WIPOffset<ColDef<'a>> {
2450 let o = self.fbb_.end_table(self.start_);
2451 ::flatbuffers::WIPOffset::new(o.value())
2452 }
2453 }
2454
2455 impl ::core::fmt::Debug for ColDef<'_> {
2456 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2457 let mut ds = f.debug_struct("ColDef");
2458 ds.field("name", &self.name());
2459 ds.field("kind", &self.kind());
2460 ds.field("logical_type", &self.logical_type());
2461 ds.field("logical_type_kind", &self.logical_type_kind());
2462 ds.field("vector_element_type", &self.vector_element_type());
2463 ds.field("vector_dimension", &self.vector_dimension());
2464 ds.finish()
2465 }
2466 }
2467 pub enum ColRefExprOffset {}
2468 #[derive(Copy, Clone, PartialEq)]
2469
2470 pub struct ColRefExpr<'a> {
2471 pub _tab: ::flatbuffers::Table<'a>,
2472 }
2473
2474 impl<'a> ::flatbuffers::Follow<'a> for ColRefExpr<'a> {
2475 type Inner = ColRefExpr<'a>;
2476 #[inline]
2477 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2478 Self {
2479 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
2480 }
2481 }
2482 }
2483
2484 impl<'a> ColRefExpr<'a> {
2485 pub const VT_IDX: ::flatbuffers::VOffsetT = 4;
2486
2487 #[inline]
2488 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
2489 ColRefExpr { _tab: table }
2490 }
2491 #[allow(unused_mut)]
2492 pub fn create<
2493 'bldr: 'args,
2494 'args: 'mut_bldr,
2495 'mut_bldr,
2496 A: ::flatbuffers::Allocator + 'bldr,
2497 >(
2498 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
2499 args: &'args ColRefExprArgs,
2500 ) -> ::flatbuffers::WIPOffset<ColRefExpr<'bldr>> {
2501 let mut builder = ColRefExprBuilder::new(_fbb);
2502 builder.add_idx(args.idx);
2503 builder.finish()
2504 }
2505
2506 #[inline]
2507 pub fn idx(&self) -> u32 {
2508 unsafe { self._tab.get::<u32>(ColRefExpr::VT_IDX, Some(0)).unwrap() }
2512 }
2513 }
2514
2515 impl ::flatbuffers::Verifiable for ColRefExpr<'_> {
2516 #[inline]
2517 fn run_verifier(
2518 v: &mut ::flatbuffers::Verifier,
2519 pos: usize,
2520 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
2521 v.visit_table(pos)?
2522 .visit_field::<u32>("idx", Self::VT_IDX, false)?
2523 .finish();
2524 Ok(())
2525 }
2526 }
2527 pub struct ColRefExprArgs {
2528 pub idx: u32,
2529 }
2530 impl<'a> Default for ColRefExprArgs {
2531 #[inline]
2532 fn default() -> Self {
2533 ColRefExprArgs { idx: 0 }
2534 }
2535 }
2536
2537 pub struct ColRefExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
2538 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
2539 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
2540 }
2541 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ColRefExprBuilder<'a, 'b, A> {
2542 #[inline]
2543 pub fn add_idx(&mut self, idx: u32) {
2544 self.fbb_.push_slot::<u32>(ColRefExpr::VT_IDX, idx, 0);
2545 }
2546 #[inline]
2547 pub fn new(
2548 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
2549 ) -> ColRefExprBuilder<'a, 'b, A> {
2550 let start = _fbb.start_table();
2551 ColRefExprBuilder {
2552 fbb_: _fbb,
2553 start_: start,
2554 }
2555 }
2556 #[inline]
2557 pub fn finish(self) -> ::flatbuffers::WIPOffset<ColRefExpr<'a>> {
2558 let o = self.fbb_.end_table(self.start_);
2559 ::flatbuffers::WIPOffset::new(o.value())
2560 }
2561 }
2562
2563 impl ::core::fmt::Debug for ColRefExpr<'_> {
2564 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2565 let mut ds = f.debug_struct("ColRefExpr");
2566 ds.field("idx", &self.idx());
2567 ds.finish()
2568 }
2569 }
2570 pub enum PropAccessExprOffset {}
2571 #[derive(Copy, Clone, PartialEq)]
2572
2573 pub struct PropAccessExpr<'a> {
2574 pub _tab: ::flatbuffers::Table<'a>,
2575 }
2576
2577 impl<'a> ::flatbuffers::Follow<'a> for PropAccessExpr<'a> {
2578 type Inner = PropAccessExpr<'a>;
2579 #[inline]
2580 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2581 Self {
2582 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
2583 }
2584 }
2585 }
2586
2587 impl<'a> PropAccessExpr<'a> {
2588 pub const VT_COL: ::flatbuffers::VOffsetT = 4;
2589 pub const VT_PROP: ::flatbuffers::VOffsetT = 6;
2590
2591 #[inline]
2592 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
2593 PropAccessExpr { _tab: table }
2594 }
2595 #[allow(unused_mut)]
2596 pub fn create<
2597 'bldr: 'args,
2598 'args: 'mut_bldr,
2599 'mut_bldr,
2600 A: ::flatbuffers::Allocator + 'bldr,
2601 >(
2602 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
2603 args: &'args PropAccessExprArgs<'args>,
2604 ) -> ::flatbuffers::WIPOffset<PropAccessExpr<'bldr>> {
2605 let mut builder = PropAccessExprBuilder::new(_fbb);
2606 if let Some(x) = args.prop {
2607 builder.add_prop(x);
2608 }
2609 builder.add_col(args.col);
2610 builder.finish()
2611 }
2612
2613 #[inline]
2614 pub fn col(&self) -> u32 {
2615 unsafe {
2619 self._tab
2620 .get::<u32>(PropAccessExpr::VT_COL, Some(0))
2621 .unwrap()
2622 }
2623 }
2624 #[inline]
2625 pub fn prop(&self) -> Option<&'a str> {
2626 unsafe {
2630 self._tab
2631 .get::<::flatbuffers::ForwardsUOffset<&str>>(PropAccessExpr::VT_PROP, None)
2632 }
2633 }
2634 }
2635
2636 impl ::flatbuffers::Verifiable for PropAccessExpr<'_> {
2637 #[inline]
2638 fn run_verifier(
2639 v: &mut ::flatbuffers::Verifier,
2640 pos: usize,
2641 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
2642 v.visit_table(pos)?
2643 .visit_field::<u32>("col", Self::VT_COL, false)?
2644 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>("prop", Self::VT_PROP, false)?
2645 .finish();
2646 Ok(())
2647 }
2648 }
2649 pub struct PropAccessExprArgs<'a> {
2650 pub col: u32,
2651 pub prop: Option<::flatbuffers::WIPOffset<&'a str>>,
2652 }
2653 impl<'a> Default for PropAccessExprArgs<'a> {
2654 #[inline]
2655 fn default() -> Self {
2656 PropAccessExprArgs { col: 0, prop: None }
2657 }
2658 }
2659
2660 pub struct PropAccessExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
2661 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
2662 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
2663 }
2664 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> PropAccessExprBuilder<'a, 'b, A> {
2665 #[inline]
2666 pub fn add_col(&mut self, col: u32) {
2667 self.fbb_.push_slot::<u32>(PropAccessExpr::VT_COL, col, 0);
2668 }
2669 #[inline]
2670 pub fn add_prop(&mut self, prop: ::flatbuffers::WIPOffset<&'b str>) {
2671 self.fbb_
2672 .push_slot_always::<::flatbuffers::WIPOffset<_>>(PropAccessExpr::VT_PROP, prop);
2673 }
2674 #[inline]
2675 pub fn new(
2676 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
2677 ) -> PropAccessExprBuilder<'a, 'b, A> {
2678 let start = _fbb.start_table();
2679 PropAccessExprBuilder {
2680 fbb_: _fbb,
2681 start_: start,
2682 }
2683 }
2684 #[inline]
2685 pub fn finish(self) -> ::flatbuffers::WIPOffset<PropAccessExpr<'a>> {
2686 let o = self.fbb_.end_table(self.start_);
2687 ::flatbuffers::WIPOffset::new(o.value())
2688 }
2689 }
2690
2691 impl ::core::fmt::Debug for PropAccessExpr<'_> {
2692 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2693 let mut ds = f.debug_struct("PropAccessExpr");
2694 ds.field("col", &self.col());
2695 ds.field("prop", &self.prop());
2696 ds.finish()
2697 }
2698 }
2699 pub enum IntLiteralExprOffset {}
2700 #[derive(Copy, Clone, PartialEq)]
2701
2702 pub struct IntLiteralExpr<'a> {
2703 pub _tab: ::flatbuffers::Table<'a>,
2704 }
2705
2706 impl<'a> ::flatbuffers::Follow<'a> for IntLiteralExpr<'a> {
2707 type Inner = IntLiteralExpr<'a>;
2708 #[inline]
2709 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2710 Self {
2711 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
2712 }
2713 }
2714 }
2715
2716 impl<'a> IntLiteralExpr<'a> {
2717 pub const VT_VALUE: ::flatbuffers::VOffsetT = 4;
2718
2719 #[inline]
2720 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
2721 IntLiteralExpr { _tab: table }
2722 }
2723 #[allow(unused_mut)]
2724 pub fn create<
2725 'bldr: 'args,
2726 'args: 'mut_bldr,
2727 'mut_bldr,
2728 A: ::flatbuffers::Allocator + 'bldr,
2729 >(
2730 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
2731 args: &'args IntLiteralExprArgs,
2732 ) -> ::flatbuffers::WIPOffset<IntLiteralExpr<'bldr>> {
2733 let mut builder = IntLiteralExprBuilder::new(_fbb);
2734 builder.add_value(args.value);
2735 builder.finish()
2736 }
2737
2738 #[inline]
2739 pub fn value(&self) -> i64 {
2740 unsafe {
2744 self._tab
2745 .get::<i64>(IntLiteralExpr::VT_VALUE, Some(0))
2746 .unwrap()
2747 }
2748 }
2749 }
2750
2751 impl ::flatbuffers::Verifiable for IntLiteralExpr<'_> {
2752 #[inline]
2753 fn run_verifier(
2754 v: &mut ::flatbuffers::Verifier,
2755 pos: usize,
2756 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
2757 v.visit_table(pos)?
2758 .visit_field::<i64>("value", Self::VT_VALUE, false)?
2759 .finish();
2760 Ok(())
2761 }
2762 }
2763 pub struct IntLiteralExprArgs {
2764 pub value: i64,
2765 }
2766 impl<'a> Default for IntLiteralExprArgs {
2767 #[inline]
2768 fn default() -> Self {
2769 IntLiteralExprArgs { value: 0 }
2770 }
2771 }
2772
2773 pub struct IntLiteralExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
2774 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
2775 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
2776 }
2777 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> IntLiteralExprBuilder<'a, 'b, A> {
2778 #[inline]
2779 pub fn add_value(&mut self, value: i64) {
2780 self.fbb_
2781 .push_slot::<i64>(IntLiteralExpr::VT_VALUE, value, 0);
2782 }
2783 #[inline]
2784 pub fn new(
2785 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
2786 ) -> IntLiteralExprBuilder<'a, 'b, A> {
2787 let start = _fbb.start_table();
2788 IntLiteralExprBuilder {
2789 fbb_: _fbb,
2790 start_: start,
2791 }
2792 }
2793 #[inline]
2794 pub fn finish(self) -> ::flatbuffers::WIPOffset<IntLiteralExpr<'a>> {
2795 let o = self.fbb_.end_table(self.start_);
2796 ::flatbuffers::WIPOffset::new(o.value())
2797 }
2798 }
2799
2800 impl ::core::fmt::Debug for IntLiteralExpr<'_> {
2801 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2802 let mut ds = f.debug_struct("IntLiteralExpr");
2803 ds.field("value", &self.value());
2804 ds.finish()
2805 }
2806 }
2807 pub enum FloatLiteralExprOffset {}
2808 #[derive(Copy, Clone, PartialEq)]
2809
2810 pub struct FloatLiteralExpr<'a> {
2811 pub _tab: ::flatbuffers::Table<'a>,
2812 }
2813
2814 impl<'a> ::flatbuffers::Follow<'a> for FloatLiteralExpr<'a> {
2815 type Inner = FloatLiteralExpr<'a>;
2816 #[inline]
2817 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2818 Self {
2819 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
2820 }
2821 }
2822 }
2823
2824 impl<'a> FloatLiteralExpr<'a> {
2825 pub const VT_VALUE: ::flatbuffers::VOffsetT = 4;
2826
2827 #[inline]
2828 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
2829 FloatLiteralExpr { _tab: table }
2830 }
2831 #[allow(unused_mut)]
2832 pub fn create<
2833 'bldr: 'args,
2834 'args: 'mut_bldr,
2835 'mut_bldr,
2836 A: ::flatbuffers::Allocator + 'bldr,
2837 >(
2838 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
2839 args: &'args FloatLiteralExprArgs,
2840 ) -> ::flatbuffers::WIPOffset<FloatLiteralExpr<'bldr>> {
2841 let mut builder = FloatLiteralExprBuilder::new(_fbb);
2842 builder.add_value(args.value);
2843 builder.finish()
2844 }
2845
2846 #[inline]
2847 pub fn value(&self) -> f64 {
2848 unsafe {
2852 self._tab
2853 .get::<f64>(FloatLiteralExpr::VT_VALUE, Some(0.0))
2854 .unwrap()
2855 }
2856 }
2857 }
2858
2859 impl ::flatbuffers::Verifiable for FloatLiteralExpr<'_> {
2860 #[inline]
2861 fn run_verifier(
2862 v: &mut ::flatbuffers::Verifier,
2863 pos: usize,
2864 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
2865 v.visit_table(pos)?
2866 .visit_field::<f64>("value", Self::VT_VALUE, false)?
2867 .finish();
2868 Ok(())
2869 }
2870 }
2871 pub struct FloatLiteralExprArgs {
2872 pub value: f64,
2873 }
2874 impl<'a> Default for FloatLiteralExprArgs {
2875 #[inline]
2876 fn default() -> Self {
2877 FloatLiteralExprArgs { value: 0.0 }
2878 }
2879 }
2880
2881 pub struct FloatLiteralExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
2882 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
2883 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
2884 }
2885 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> FloatLiteralExprBuilder<'a, 'b, A> {
2886 #[inline]
2887 pub fn add_value(&mut self, value: f64) {
2888 self.fbb_
2889 .push_slot::<f64>(FloatLiteralExpr::VT_VALUE, value, 0.0);
2890 }
2891 #[inline]
2892 pub fn new(
2893 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
2894 ) -> FloatLiteralExprBuilder<'a, 'b, A> {
2895 let start = _fbb.start_table();
2896 FloatLiteralExprBuilder {
2897 fbb_: _fbb,
2898 start_: start,
2899 }
2900 }
2901 #[inline]
2902 pub fn finish(self) -> ::flatbuffers::WIPOffset<FloatLiteralExpr<'a>> {
2903 let o = self.fbb_.end_table(self.start_);
2904 ::flatbuffers::WIPOffset::new(o.value())
2905 }
2906 }
2907
2908 impl ::core::fmt::Debug for FloatLiteralExpr<'_> {
2909 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2910 let mut ds = f.debug_struct("FloatLiteralExpr");
2911 ds.field("value", &self.value());
2912 ds.finish()
2913 }
2914 }
2915 pub enum BoolLiteralExprOffset {}
2916 #[derive(Copy, Clone, PartialEq)]
2917
2918 pub struct BoolLiteralExpr<'a> {
2919 pub _tab: ::flatbuffers::Table<'a>,
2920 }
2921
2922 impl<'a> ::flatbuffers::Follow<'a> for BoolLiteralExpr<'a> {
2923 type Inner = BoolLiteralExpr<'a>;
2924 #[inline]
2925 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2926 Self {
2927 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
2928 }
2929 }
2930 }
2931
2932 impl<'a> BoolLiteralExpr<'a> {
2933 pub const VT_VALUE: ::flatbuffers::VOffsetT = 4;
2934
2935 #[inline]
2936 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
2937 BoolLiteralExpr { _tab: table }
2938 }
2939 #[allow(unused_mut)]
2940 pub fn create<
2941 'bldr: 'args,
2942 'args: 'mut_bldr,
2943 'mut_bldr,
2944 A: ::flatbuffers::Allocator + 'bldr,
2945 >(
2946 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
2947 args: &'args BoolLiteralExprArgs,
2948 ) -> ::flatbuffers::WIPOffset<BoolLiteralExpr<'bldr>> {
2949 let mut builder = BoolLiteralExprBuilder::new(_fbb);
2950 builder.add_value(args.value);
2951 builder.finish()
2952 }
2953
2954 #[inline]
2955 pub fn value(&self) -> bool {
2956 unsafe {
2960 self._tab
2961 .get::<bool>(BoolLiteralExpr::VT_VALUE, Some(false))
2962 .unwrap()
2963 }
2964 }
2965 }
2966
2967 impl ::flatbuffers::Verifiable for BoolLiteralExpr<'_> {
2968 #[inline]
2969 fn run_verifier(
2970 v: &mut ::flatbuffers::Verifier,
2971 pos: usize,
2972 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
2973 v.visit_table(pos)?
2974 .visit_field::<bool>("value", Self::VT_VALUE, false)?
2975 .finish();
2976 Ok(())
2977 }
2978 }
2979 pub struct BoolLiteralExprArgs {
2980 pub value: bool,
2981 }
2982 impl<'a> Default for BoolLiteralExprArgs {
2983 #[inline]
2984 fn default() -> Self {
2985 BoolLiteralExprArgs { value: false }
2986 }
2987 }
2988
2989 pub struct BoolLiteralExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
2990 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
2991 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
2992 }
2993 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> BoolLiteralExprBuilder<'a, 'b, A> {
2994 #[inline]
2995 pub fn add_value(&mut self, value: bool) {
2996 self.fbb_
2997 .push_slot::<bool>(BoolLiteralExpr::VT_VALUE, value, false);
2998 }
2999 #[inline]
3000 pub fn new(
3001 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3002 ) -> BoolLiteralExprBuilder<'a, 'b, A> {
3003 let start = _fbb.start_table();
3004 BoolLiteralExprBuilder {
3005 fbb_: _fbb,
3006 start_: start,
3007 }
3008 }
3009 #[inline]
3010 pub fn finish(self) -> ::flatbuffers::WIPOffset<BoolLiteralExpr<'a>> {
3011 let o = self.fbb_.end_table(self.start_);
3012 ::flatbuffers::WIPOffset::new(o.value())
3013 }
3014 }
3015
3016 impl ::core::fmt::Debug for BoolLiteralExpr<'_> {
3017 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3018 let mut ds = f.debug_struct("BoolLiteralExpr");
3019 ds.field("value", &self.value());
3020 ds.finish()
3021 }
3022 }
3023 pub enum StringLiteralExprOffset {}
3024 #[derive(Copy, Clone, PartialEq)]
3025
3026 pub struct StringLiteralExpr<'a> {
3027 pub _tab: ::flatbuffers::Table<'a>,
3028 }
3029
3030 impl<'a> ::flatbuffers::Follow<'a> for StringLiteralExpr<'a> {
3031 type Inner = StringLiteralExpr<'a>;
3032 #[inline]
3033 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3034 Self {
3035 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
3036 }
3037 }
3038 }
3039
3040 impl<'a> StringLiteralExpr<'a> {
3041 pub const VT_VALUE: ::flatbuffers::VOffsetT = 4;
3042
3043 #[inline]
3044 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
3045 StringLiteralExpr { _tab: table }
3046 }
3047 #[allow(unused_mut)]
3048 pub fn create<
3049 'bldr: 'args,
3050 'args: 'mut_bldr,
3051 'mut_bldr,
3052 A: ::flatbuffers::Allocator + 'bldr,
3053 >(
3054 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
3055 args: &'args StringLiteralExprArgs<'args>,
3056 ) -> ::flatbuffers::WIPOffset<StringLiteralExpr<'bldr>> {
3057 let mut builder = StringLiteralExprBuilder::new(_fbb);
3058 if let Some(x) = args.value {
3059 builder.add_value(x);
3060 }
3061 builder.finish()
3062 }
3063
3064 #[inline]
3065 pub fn value(&self) -> Option<&'a str> {
3066 unsafe {
3070 self._tab
3071 .get::<::flatbuffers::ForwardsUOffset<&str>>(StringLiteralExpr::VT_VALUE, None)
3072 }
3073 }
3074 }
3075
3076 impl ::flatbuffers::Verifiable for StringLiteralExpr<'_> {
3077 #[inline]
3078 fn run_verifier(
3079 v: &mut ::flatbuffers::Verifier,
3080 pos: usize,
3081 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
3082 v.visit_table(pos)?
3083 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
3084 "value",
3085 Self::VT_VALUE,
3086 false,
3087 )?
3088 .finish();
3089 Ok(())
3090 }
3091 }
3092 pub struct StringLiteralExprArgs<'a> {
3093 pub value: Option<::flatbuffers::WIPOffset<&'a str>>,
3094 }
3095 impl<'a> Default for StringLiteralExprArgs<'a> {
3096 #[inline]
3097 fn default() -> Self {
3098 StringLiteralExprArgs { value: None }
3099 }
3100 }
3101
3102 pub struct StringLiteralExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
3103 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3104 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
3105 }
3106 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> StringLiteralExprBuilder<'a, 'b, A> {
3107 #[inline]
3108 pub fn add_value(&mut self, value: ::flatbuffers::WIPOffset<&'b str>) {
3109 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
3110 StringLiteralExpr::VT_VALUE,
3111 value,
3112 );
3113 }
3114 #[inline]
3115 pub fn new(
3116 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3117 ) -> StringLiteralExprBuilder<'a, 'b, A> {
3118 let start = _fbb.start_table();
3119 StringLiteralExprBuilder {
3120 fbb_: _fbb,
3121 start_: start,
3122 }
3123 }
3124 #[inline]
3125 pub fn finish(self) -> ::flatbuffers::WIPOffset<StringLiteralExpr<'a>> {
3126 let o = self.fbb_.end_table(self.start_);
3127 ::flatbuffers::WIPOffset::new(o.value())
3128 }
3129 }
3130
3131 impl ::core::fmt::Debug for StringLiteralExpr<'_> {
3132 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3133 let mut ds = f.debug_struct("StringLiteralExpr");
3134 ds.field("value", &self.value());
3135 ds.finish()
3136 }
3137 }
3138 pub enum NullLiteralExprOffset {}
3139 #[derive(Copy, Clone, PartialEq)]
3140
3141 pub struct NullLiteralExpr<'a> {
3142 pub _tab: ::flatbuffers::Table<'a>,
3143 }
3144
3145 impl<'a> ::flatbuffers::Follow<'a> for NullLiteralExpr<'a> {
3146 type Inner = NullLiteralExpr<'a>;
3147 #[inline]
3148 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3149 Self {
3150 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
3151 }
3152 }
3153 }
3154
3155 impl<'a> NullLiteralExpr<'a> {
3156 #[inline]
3157 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
3158 NullLiteralExpr { _tab: table }
3159 }
3160 #[allow(unused_mut)]
3161 pub fn create<
3162 'bldr: 'args,
3163 'args: 'mut_bldr,
3164 'mut_bldr,
3165 A: ::flatbuffers::Allocator + 'bldr,
3166 >(
3167 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
3168 _args: &'args NullLiteralExprArgs,
3169 ) -> ::flatbuffers::WIPOffset<NullLiteralExpr<'bldr>> {
3170 let mut builder = NullLiteralExprBuilder::new(_fbb);
3171 builder.finish()
3172 }
3173 }
3174
3175 impl ::flatbuffers::Verifiable for NullLiteralExpr<'_> {
3176 #[inline]
3177 fn run_verifier(
3178 v: &mut ::flatbuffers::Verifier,
3179 pos: usize,
3180 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
3181 v.visit_table(pos)?.finish();
3182 Ok(())
3183 }
3184 }
3185 pub struct NullLiteralExprArgs {}
3186 impl<'a> Default for NullLiteralExprArgs {
3187 #[inline]
3188 fn default() -> Self {
3189 NullLiteralExprArgs {}
3190 }
3191 }
3192
3193 pub struct NullLiteralExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
3194 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3195 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
3196 }
3197 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> NullLiteralExprBuilder<'a, 'b, A> {
3198 #[inline]
3199 pub fn new(
3200 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3201 ) -> NullLiteralExprBuilder<'a, 'b, A> {
3202 let start = _fbb.start_table();
3203 NullLiteralExprBuilder {
3204 fbb_: _fbb,
3205 start_: start,
3206 }
3207 }
3208 #[inline]
3209 pub fn finish(self) -> ::flatbuffers::WIPOffset<NullLiteralExpr<'a>> {
3210 let o = self.fbb_.end_table(self.start_);
3211 ::flatbuffers::WIPOffset::new(o.value())
3212 }
3213 }
3214
3215 impl ::core::fmt::Debug for NullLiteralExpr<'_> {
3216 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3217 let mut ds = f.debug_struct("NullLiteralExpr");
3218 ds.finish()
3219 }
3220 }
3221 pub enum CmpExprOffset {}
3222 #[derive(Copy, Clone, PartialEq)]
3223
3224 pub struct CmpExpr<'a> {
3225 pub _tab: ::flatbuffers::Table<'a>,
3226 }
3227
3228 impl<'a> ::flatbuffers::Follow<'a> for CmpExpr<'a> {
3229 type Inner = CmpExpr<'a>;
3230 #[inline]
3231 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3232 Self {
3233 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
3234 }
3235 }
3236 }
3237
3238 impl<'a> CmpExpr<'a> {
3239 pub const VT_OP: ::flatbuffers::VOffsetT = 4;
3240 pub const VT_LHS: ::flatbuffers::VOffsetT = 6;
3241 pub const VT_RHS: ::flatbuffers::VOffsetT = 8;
3242
3243 #[inline]
3244 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
3245 CmpExpr { _tab: table }
3246 }
3247 #[allow(unused_mut)]
3248 pub fn create<
3249 'bldr: 'args,
3250 'args: 'mut_bldr,
3251 'mut_bldr,
3252 A: ::flatbuffers::Allocator + 'bldr,
3253 >(
3254 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
3255 args: &'args CmpExprArgs<'args>,
3256 ) -> ::flatbuffers::WIPOffset<CmpExpr<'bldr>> {
3257 let mut builder = CmpExprBuilder::new(_fbb);
3258 if let Some(x) = args.rhs {
3259 builder.add_rhs(x);
3260 }
3261 if let Some(x) = args.lhs {
3262 builder.add_lhs(x);
3263 }
3264 builder.add_op(args.op);
3265 builder.finish()
3266 }
3267
3268 #[inline]
3269 pub fn op(&self) -> CmpOp {
3270 unsafe {
3274 self._tab
3275 .get::<CmpOp>(CmpExpr::VT_OP, Some(CmpOp::eq))
3276 .unwrap()
3277 }
3278 }
3279 #[inline]
3280 pub fn lhs(&self) -> Option<Expr<'a>> {
3281 unsafe {
3285 self._tab
3286 .get::<::flatbuffers::ForwardsUOffset<Expr>>(CmpExpr::VT_LHS, None)
3287 }
3288 }
3289 #[inline]
3290 pub fn rhs(&self) -> Option<Expr<'a>> {
3291 unsafe {
3295 self._tab
3296 .get::<::flatbuffers::ForwardsUOffset<Expr>>(CmpExpr::VT_RHS, None)
3297 }
3298 }
3299 }
3300
3301 impl ::flatbuffers::Verifiable for CmpExpr<'_> {
3302 #[inline]
3303 fn run_verifier(
3304 v: &mut ::flatbuffers::Verifier,
3305 pos: usize,
3306 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
3307 v.visit_table(pos)?
3308 .visit_field::<CmpOp>("op", Self::VT_OP, false)?
3309 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("lhs", Self::VT_LHS, false)?
3310 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("rhs", Self::VT_RHS, false)?
3311 .finish();
3312 Ok(())
3313 }
3314 }
3315 pub struct CmpExprArgs<'a> {
3316 pub op: CmpOp,
3317 pub lhs: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
3318 pub rhs: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
3319 }
3320 impl<'a> Default for CmpExprArgs<'a> {
3321 #[inline]
3322 fn default() -> Self {
3323 CmpExprArgs {
3324 op: CmpOp::eq,
3325 lhs: None,
3326 rhs: None,
3327 }
3328 }
3329 }
3330
3331 pub struct CmpExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
3332 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3333 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
3334 }
3335 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> CmpExprBuilder<'a, 'b, A> {
3336 #[inline]
3337 pub fn add_op(&mut self, op: CmpOp) {
3338 self.fbb_.push_slot::<CmpOp>(CmpExpr::VT_OP, op, CmpOp::eq);
3339 }
3340 #[inline]
3341 pub fn add_lhs(&mut self, lhs: ::flatbuffers::WIPOffset<Expr<'b>>) {
3342 self.fbb_
3343 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(CmpExpr::VT_LHS, lhs);
3344 }
3345 #[inline]
3346 pub fn add_rhs(&mut self, rhs: ::flatbuffers::WIPOffset<Expr<'b>>) {
3347 self.fbb_
3348 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(CmpExpr::VT_RHS, rhs);
3349 }
3350 #[inline]
3351 pub fn new(
3352 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3353 ) -> CmpExprBuilder<'a, 'b, A> {
3354 let start = _fbb.start_table();
3355 CmpExprBuilder {
3356 fbb_: _fbb,
3357 start_: start,
3358 }
3359 }
3360 #[inline]
3361 pub fn finish(self) -> ::flatbuffers::WIPOffset<CmpExpr<'a>> {
3362 let o = self.fbb_.end_table(self.start_);
3363 ::flatbuffers::WIPOffset::new(o.value())
3364 }
3365 }
3366
3367 impl ::core::fmt::Debug for CmpExpr<'_> {
3368 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3369 let mut ds = f.debug_struct("CmpExpr");
3370 ds.field("op", &self.op());
3371 ds.field("lhs", &self.lhs());
3372 ds.field("rhs", &self.rhs());
3373 ds.finish()
3374 }
3375 }
3376 pub enum AndExprOffset {}
3377 #[derive(Copy, Clone, PartialEq)]
3378
3379 pub struct AndExpr<'a> {
3380 pub _tab: ::flatbuffers::Table<'a>,
3381 }
3382
3383 impl<'a> ::flatbuffers::Follow<'a> for AndExpr<'a> {
3384 type Inner = AndExpr<'a>;
3385 #[inline]
3386 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3387 Self {
3388 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
3389 }
3390 }
3391 }
3392
3393 impl<'a> AndExpr<'a> {
3394 pub const VT_LHS: ::flatbuffers::VOffsetT = 4;
3395 pub const VT_RHS: ::flatbuffers::VOffsetT = 6;
3396
3397 #[inline]
3398 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
3399 AndExpr { _tab: table }
3400 }
3401 #[allow(unused_mut)]
3402 pub fn create<
3403 'bldr: 'args,
3404 'args: 'mut_bldr,
3405 'mut_bldr,
3406 A: ::flatbuffers::Allocator + 'bldr,
3407 >(
3408 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
3409 args: &'args AndExprArgs<'args>,
3410 ) -> ::flatbuffers::WIPOffset<AndExpr<'bldr>> {
3411 let mut builder = AndExprBuilder::new(_fbb);
3412 if let Some(x) = args.rhs {
3413 builder.add_rhs(x);
3414 }
3415 if let Some(x) = args.lhs {
3416 builder.add_lhs(x);
3417 }
3418 builder.finish()
3419 }
3420
3421 #[inline]
3422 pub fn lhs(&self) -> Option<Expr<'a>> {
3423 unsafe {
3427 self._tab
3428 .get::<::flatbuffers::ForwardsUOffset<Expr>>(AndExpr::VT_LHS, None)
3429 }
3430 }
3431 #[inline]
3432 pub fn rhs(&self) -> Option<Expr<'a>> {
3433 unsafe {
3437 self._tab
3438 .get::<::flatbuffers::ForwardsUOffset<Expr>>(AndExpr::VT_RHS, None)
3439 }
3440 }
3441 }
3442
3443 impl ::flatbuffers::Verifiable for AndExpr<'_> {
3444 #[inline]
3445 fn run_verifier(
3446 v: &mut ::flatbuffers::Verifier,
3447 pos: usize,
3448 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
3449 v.visit_table(pos)?
3450 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("lhs", Self::VT_LHS, false)?
3451 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("rhs", Self::VT_RHS, false)?
3452 .finish();
3453 Ok(())
3454 }
3455 }
3456 pub struct AndExprArgs<'a> {
3457 pub lhs: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
3458 pub rhs: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
3459 }
3460 impl<'a> Default for AndExprArgs<'a> {
3461 #[inline]
3462 fn default() -> Self {
3463 AndExprArgs {
3464 lhs: None,
3465 rhs: None,
3466 }
3467 }
3468 }
3469
3470 pub struct AndExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
3471 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3472 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
3473 }
3474 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> AndExprBuilder<'a, 'b, A> {
3475 #[inline]
3476 pub fn add_lhs(&mut self, lhs: ::flatbuffers::WIPOffset<Expr<'b>>) {
3477 self.fbb_
3478 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(AndExpr::VT_LHS, lhs);
3479 }
3480 #[inline]
3481 pub fn add_rhs(&mut self, rhs: ::flatbuffers::WIPOffset<Expr<'b>>) {
3482 self.fbb_
3483 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(AndExpr::VT_RHS, rhs);
3484 }
3485 #[inline]
3486 pub fn new(
3487 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3488 ) -> AndExprBuilder<'a, 'b, A> {
3489 let start = _fbb.start_table();
3490 AndExprBuilder {
3491 fbb_: _fbb,
3492 start_: start,
3493 }
3494 }
3495 #[inline]
3496 pub fn finish(self) -> ::flatbuffers::WIPOffset<AndExpr<'a>> {
3497 let o = self.fbb_.end_table(self.start_);
3498 ::flatbuffers::WIPOffset::new(o.value())
3499 }
3500 }
3501
3502 impl ::core::fmt::Debug for AndExpr<'_> {
3503 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3504 let mut ds = f.debug_struct("AndExpr");
3505 ds.field("lhs", &self.lhs());
3506 ds.field("rhs", &self.rhs());
3507 ds.finish()
3508 }
3509 }
3510 pub enum OrExprOffset {}
3511 #[derive(Copy, Clone, PartialEq)]
3512
3513 pub struct OrExpr<'a> {
3514 pub _tab: ::flatbuffers::Table<'a>,
3515 }
3516
3517 impl<'a> ::flatbuffers::Follow<'a> for OrExpr<'a> {
3518 type Inner = OrExpr<'a>;
3519 #[inline]
3520 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3521 Self {
3522 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
3523 }
3524 }
3525 }
3526
3527 impl<'a> OrExpr<'a> {
3528 pub const VT_LHS: ::flatbuffers::VOffsetT = 4;
3529 pub const VT_RHS: ::flatbuffers::VOffsetT = 6;
3530
3531 #[inline]
3532 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
3533 OrExpr { _tab: table }
3534 }
3535 #[allow(unused_mut)]
3536 pub fn create<
3537 'bldr: 'args,
3538 'args: 'mut_bldr,
3539 'mut_bldr,
3540 A: ::flatbuffers::Allocator + 'bldr,
3541 >(
3542 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
3543 args: &'args OrExprArgs<'args>,
3544 ) -> ::flatbuffers::WIPOffset<OrExpr<'bldr>> {
3545 let mut builder = OrExprBuilder::new(_fbb);
3546 if let Some(x) = args.rhs {
3547 builder.add_rhs(x);
3548 }
3549 if let Some(x) = args.lhs {
3550 builder.add_lhs(x);
3551 }
3552 builder.finish()
3553 }
3554
3555 #[inline]
3556 pub fn lhs(&self) -> Option<Expr<'a>> {
3557 unsafe {
3561 self._tab
3562 .get::<::flatbuffers::ForwardsUOffset<Expr>>(OrExpr::VT_LHS, None)
3563 }
3564 }
3565 #[inline]
3566 pub fn rhs(&self) -> Option<Expr<'a>> {
3567 unsafe {
3571 self._tab
3572 .get::<::flatbuffers::ForwardsUOffset<Expr>>(OrExpr::VT_RHS, None)
3573 }
3574 }
3575 }
3576
3577 impl ::flatbuffers::Verifiable for OrExpr<'_> {
3578 #[inline]
3579 fn run_verifier(
3580 v: &mut ::flatbuffers::Verifier,
3581 pos: usize,
3582 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
3583 v.visit_table(pos)?
3584 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("lhs", Self::VT_LHS, false)?
3585 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("rhs", Self::VT_RHS, false)?
3586 .finish();
3587 Ok(())
3588 }
3589 }
3590 pub struct OrExprArgs<'a> {
3591 pub lhs: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
3592 pub rhs: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
3593 }
3594 impl<'a> Default for OrExprArgs<'a> {
3595 #[inline]
3596 fn default() -> Self {
3597 OrExprArgs {
3598 lhs: None,
3599 rhs: None,
3600 }
3601 }
3602 }
3603
3604 pub struct OrExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
3605 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3606 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
3607 }
3608 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> OrExprBuilder<'a, 'b, A> {
3609 #[inline]
3610 pub fn add_lhs(&mut self, lhs: ::flatbuffers::WIPOffset<Expr<'b>>) {
3611 self.fbb_
3612 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(OrExpr::VT_LHS, lhs);
3613 }
3614 #[inline]
3615 pub fn add_rhs(&mut self, rhs: ::flatbuffers::WIPOffset<Expr<'b>>) {
3616 self.fbb_
3617 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(OrExpr::VT_RHS, rhs);
3618 }
3619 #[inline]
3620 pub fn new(
3621 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3622 ) -> OrExprBuilder<'a, 'b, A> {
3623 let start = _fbb.start_table();
3624 OrExprBuilder {
3625 fbb_: _fbb,
3626 start_: start,
3627 }
3628 }
3629 #[inline]
3630 pub fn finish(self) -> ::flatbuffers::WIPOffset<OrExpr<'a>> {
3631 let o = self.fbb_.end_table(self.start_);
3632 ::flatbuffers::WIPOffset::new(o.value())
3633 }
3634 }
3635
3636 impl ::core::fmt::Debug for OrExpr<'_> {
3637 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3638 let mut ds = f.debug_struct("OrExpr");
3639 ds.field("lhs", &self.lhs());
3640 ds.field("rhs", &self.rhs());
3641 ds.finish()
3642 }
3643 }
3644 pub enum NotExprOffset {}
3645 #[derive(Copy, Clone, PartialEq)]
3646
3647 pub struct NotExpr<'a> {
3648 pub _tab: ::flatbuffers::Table<'a>,
3649 }
3650
3651 impl<'a> ::flatbuffers::Follow<'a> for NotExpr<'a> {
3652 type Inner = NotExpr<'a>;
3653 #[inline]
3654 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3655 Self {
3656 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
3657 }
3658 }
3659 }
3660
3661 impl<'a> NotExpr<'a> {
3662 pub const VT_EXPR: ::flatbuffers::VOffsetT = 4;
3663
3664 #[inline]
3665 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
3666 NotExpr { _tab: table }
3667 }
3668 #[allow(unused_mut)]
3669 pub fn create<
3670 'bldr: 'args,
3671 'args: 'mut_bldr,
3672 'mut_bldr,
3673 A: ::flatbuffers::Allocator + 'bldr,
3674 >(
3675 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
3676 args: &'args NotExprArgs<'args>,
3677 ) -> ::flatbuffers::WIPOffset<NotExpr<'bldr>> {
3678 let mut builder = NotExprBuilder::new(_fbb);
3679 if let Some(x) = args.expr {
3680 builder.add_expr(x);
3681 }
3682 builder.finish()
3683 }
3684
3685 #[inline]
3686 pub fn expr(&self) -> Option<Expr<'a>> {
3687 unsafe {
3691 self._tab
3692 .get::<::flatbuffers::ForwardsUOffset<Expr>>(NotExpr::VT_EXPR, None)
3693 }
3694 }
3695 }
3696
3697 impl ::flatbuffers::Verifiable for NotExpr<'_> {
3698 #[inline]
3699 fn run_verifier(
3700 v: &mut ::flatbuffers::Verifier,
3701 pos: usize,
3702 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
3703 v.visit_table(pos)?
3704 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("expr", Self::VT_EXPR, false)?
3705 .finish();
3706 Ok(())
3707 }
3708 }
3709 pub struct NotExprArgs<'a> {
3710 pub expr: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
3711 }
3712 impl<'a> Default for NotExprArgs<'a> {
3713 #[inline]
3714 fn default() -> Self {
3715 NotExprArgs { expr: None }
3716 }
3717 }
3718
3719 pub struct NotExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
3720 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3721 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
3722 }
3723 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> NotExprBuilder<'a, 'b, A> {
3724 #[inline]
3725 pub fn add_expr(&mut self, expr: ::flatbuffers::WIPOffset<Expr<'b>>) {
3726 self.fbb_
3727 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(NotExpr::VT_EXPR, expr);
3728 }
3729 #[inline]
3730 pub fn new(
3731 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3732 ) -> NotExprBuilder<'a, 'b, A> {
3733 let start = _fbb.start_table();
3734 NotExprBuilder {
3735 fbb_: _fbb,
3736 start_: start,
3737 }
3738 }
3739 #[inline]
3740 pub fn finish(self) -> ::flatbuffers::WIPOffset<NotExpr<'a>> {
3741 let o = self.fbb_.end_table(self.start_);
3742 ::flatbuffers::WIPOffset::new(o.value())
3743 }
3744 }
3745
3746 impl ::core::fmt::Debug for NotExpr<'_> {
3747 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3748 let mut ds = f.debug_struct("NotExpr");
3749 ds.field("expr", &self.expr());
3750 ds.finish()
3751 }
3752 }
3753 pub enum IsNullExprOffset {}
3754 #[derive(Copy, Clone, PartialEq)]
3755
3756 pub struct IsNullExpr<'a> {
3757 pub _tab: ::flatbuffers::Table<'a>,
3758 }
3759
3760 impl<'a> ::flatbuffers::Follow<'a> for IsNullExpr<'a> {
3761 type Inner = IsNullExpr<'a>;
3762 #[inline]
3763 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3764 Self {
3765 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
3766 }
3767 }
3768 }
3769
3770 impl<'a> IsNullExpr<'a> {
3771 pub const VT_EXPR: ::flatbuffers::VOffsetT = 4;
3772
3773 #[inline]
3774 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
3775 IsNullExpr { _tab: table }
3776 }
3777 #[allow(unused_mut)]
3778 pub fn create<
3779 'bldr: 'args,
3780 'args: 'mut_bldr,
3781 'mut_bldr,
3782 A: ::flatbuffers::Allocator + 'bldr,
3783 >(
3784 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
3785 args: &'args IsNullExprArgs<'args>,
3786 ) -> ::flatbuffers::WIPOffset<IsNullExpr<'bldr>> {
3787 let mut builder = IsNullExprBuilder::new(_fbb);
3788 if let Some(x) = args.expr {
3789 builder.add_expr(x);
3790 }
3791 builder.finish()
3792 }
3793
3794 #[inline]
3795 pub fn expr(&self) -> Option<Expr<'a>> {
3796 unsafe {
3800 self._tab
3801 .get::<::flatbuffers::ForwardsUOffset<Expr>>(IsNullExpr::VT_EXPR, None)
3802 }
3803 }
3804 }
3805
3806 impl ::flatbuffers::Verifiable for IsNullExpr<'_> {
3807 #[inline]
3808 fn run_verifier(
3809 v: &mut ::flatbuffers::Verifier,
3810 pos: usize,
3811 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
3812 v.visit_table(pos)?
3813 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("expr", Self::VT_EXPR, false)?
3814 .finish();
3815 Ok(())
3816 }
3817 }
3818 pub struct IsNullExprArgs<'a> {
3819 pub expr: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
3820 }
3821 impl<'a> Default for IsNullExprArgs<'a> {
3822 #[inline]
3823 fn default() -> Self {
3824 IsNullExprArgs { expr: None }
3825 }
3826 }
3827
3828 pub struct IsNullExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
3829 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3830 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
3831 }
3832 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> IsNullExprBuilder<'a, 'b, A> {
3833 #[inline]
3834 pub fn add_expr(&mut self, expr: ::flatbuffers::WIPOffset<Expr<'b>>) {
3835 self.fbb_
3836 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(IsNullExpr::VT_EXPR, expr);
3837 }
3838 #[inline]
3839 pub fn new(
3840 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3841 ) -> IsNullExprBuilder<'a, 'b, A> {
3842 let start = _fbb.start_table();
3843 IsNullExprBuilder {
3844 fbb_: _fbb,
3845 start_: start,
3846 }
3847 }
3848 #[inline]
3849 pub fn finish(self) -> ::flatbuffers::WIPOffset<IsNullExpr<'a>> {
3850 let o = self.fbb_.end_table(self.start_);
3851 ::flatbuffers::WIPOffset::new(o.value())
3852 }
3853 }
3854
3855 impl ::core::fmt::Debug for IsNullExpr<'_> {
3856 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3857 let mut ds = f.debug_struct("IsNullExpr");
3858 ds.field("expr", &self.expr());
3859 ds.finish()
3860 }
3861 }
3862 pub enum IsNotNullExprOffset {}
3863 #[derive(Copy, Clone, PartialEq)]
3864
3865 pub struct IsNotNullExpr<'a> {
3866 pub _tab: ::flatbuffers::Table<'a>,
3867 }
3868
3869 impl<'a> ::flatbuffers::Follow<'a> for IsNotNullExpr<'a> {
3870 type Inner = IsNotNullExpr<'a>;
3871 #[inline]
3872 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3873 Self {
3874 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
3875 }
3876 }
3877 }
3878
3879 impl<'a> IsNotNullExpr<'a> {
3880 pub const VT_EXPR: ::flatbuffers::VOffsetT = 4;
3881
3882 #[inline]
3883 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
3884 IsNotNullExpr { _tab: table }
3885 }
3886 #[allow(unused_mut)]
3887 pub fn create<
3888 'bldr: 'args,
3889 'args: 'mut_bldr,
3890 'mut_bldr,
3891 A: ::flatbuffers::Allocator + 'bldr,
3892 >(
3893 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
3894 args: &'args IsNotNullExprArgs<'args>,
3895 ) -> ::flatbuffers::WIPOffset<IsNotNullExpr<'bldr>> {
3896 let mut builder = IsNotNullExprBuilder::new(_fbb);
3897 if let Some(x) = args.expr {
3898 builder.add_expr(x);
3899 }
3900 builder.finish()
3901 }
3902
3903 #[inline]
3904 pub fn expr(&self) -> Option<Expr<'a>> {
3905 unsafe {
3909 self._tab
3910 .get::<::flatbuffers::ForwardsUOffset<Expr>>(IsNotNullExpr::VT_EXPR, None)
3911 }
3912 }
3913 }
3914
3915 impl ::flatbuffers::Verifiable for IsNotNullExpr<'_> {
3916 #[inline]
3917 fn run_verifier(
3918 v: &mut ::flatbuffers::Verifier,
3919 pos: usize,
3920 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
3921 v.visit_table(pos)?
3922 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("expr", Self::VT_EXPR, false)?
3923 .finish();
3924 Ok(())
3925 }
3926 }
3927 pub struct IsNotNullExprArgs<'a> {
3928 pub expr: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
3929 }
3930 impl<'a> Default for IsNotNullExprArgs<'a> {
3931 #[inline]
3932 fn default() -> Self {
3933 IsNotNullExprArgs { expr: None }
3934 }
3935 }
3936
3937 pub struct IsNotNullExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
3938 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3939 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
3940 }
3941 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> IsNotNullExprBuilder<'a, 'b, A> {
3942 #[inline]
3943 pub fn add_expr(&mut self, expr: ::flatbuffers::WIPOffset<Expr<'b>>) {
3944 self.fbb_
3945 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(IsNotNullExpr::VT_EXPR, expr);
3946 }
3947 #[inline]
3948 pub fn new(
3949 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
3950 ) -> IsNotNullExprBuilder<'a, 'b, A> {
3951 let start = _fbb.start_table();
3952 IsNotNullExprBuilder {
3953 fbb_: _fbb,
3954 start_: start,
3955 }
3956 }
3957 #[inline]
3958 pub fn finish(self) -> ::flatbuffers::WIPOffset<IsNotNullExpr<'a>> {
3959 let o = self.fbb_.end_table(self.start_);
3960 ::flatbuffers::WIPOffset::new(o.value())
3961 }
3962 }
3963
3964 impl ::core::fmt::Debug for IsNotNullExpr<'_> {
3965 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3966 let mut ds = f.debug_struct("IsNotNullExpr");
3967 ds.field("expr", &self.expr());
3968 ds.finish()
3969 }
3970 }
3971 pub enum StartsWithExprOffset {}
3972 #[derive(Copy, Clone, PartialEq)]
3973
3974 pub struct StartsWithExpr<'a> {
3975 pub _tab: ::flatbuffers::Table<'a>,
3976 }
3977
3978 impl<'a> ::flatbuffers::Follow<'a> for StartsWithExpr<'a> {
3979 type Inner = StartsWithExpr<'a>;
3980 #[inline]
3981 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3982 Self {
3983 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
3984 }
3985 }
3986 }
3987
3988 impl<'a> StartsWithExpr<'a> {
3989 pub const VT_EXPR: ::flatbuffers::VOffsetT = 4;
3990 pub const VT_PATTERN: ::flatbuffers::VOffsetT = 6;
3991
3992 #[inline]
3993 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
3994 StartsWithExpr { _tab: table }
3995 }
3996 #[allow(unused_mut)]
3997 pub fn create<
3998 'bldr: 'args,
3999 'args: 'mut_bldr,
4000 'mut_bldr,
4001 A: ::flatbuffers::Allocator + 'bldr,
4002 >(
4003 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
4004 args: &'args StartsWithExprArgs<'args>,
4005 ) -> ::flatbuffers::WIPOffset<StartsWithExpr<'bldr>> {
4006 let mut builder = StartsWithExprBuilder::new(_fbb);
4007 if let Some(x) = args.pattern {
4008 builder.add_pattern(x);
4009 }
4010 if let Some(x) = args.expr {
4011 builder.add_expr(x);
4012 }
4013 builder.finish()
4014 }
4015
4016 #[inline]
4017 pub fn expr(&self) -> Option<Expr<'a>> {
4018 unsafe {
4022 self._tab
4023 .get::<::flatbuffers::ForwardsUOffset<Expr>>(StartsWithExpr::VT_EXPR, None)
4024 }
4025 }
4026 #[inline]
4027 pub fn pattern(&self) -> Option<&'a str> {
4028 unsafe {
4032 self._tab
4033 .get::<::flatbuffers::ForwardsUOffset<&str>>(StartsWithExpr::VT_PATTERN, None)
4034 }
4035 }
4036 }
4037
4038 impl ::flatbuffers::Verifiable for StartsWithExpr<'_> {
4039 #[inline]
4040 fn run_verifier(
4041 v: &mut ::flatbuffers::Verifier,
4042 pos: usize,
4043 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
4044 v.visit_table(pos)?
4045 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("expr", Self::VT_EXPR, false)?
4046 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
4047 "pattern",
4048 Self::VT_PATTERN,
4049 false,
4050 )?
4051 .finish();
4052 Ok(())
4053 }
4054 }
4055 pub struct StartsWithExprArgs<'a> {
4056 pub expr: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
4057 pub pattern: Option<::flatbuffers::WIPOffset<&'a str>>,
4058 }
4059 impl<'a> Default for StartsWithExprArgs<'a> {
4060 #[inline]
4061 fn default() -> Self {
4062 StartsWithExprArgs {
4063 expr: None,
4064 pattern: None,
4065 }
4066 }
4067 }
4068
4069 pub struct StartsWithExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
4070 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
4071 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
4072 }
4073 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> StartsWithExprBuilder<'a, 'b, A> {
4074 #[inline]
4075 pub fn add_expr(&mut self, expr: ::flatbuffers::WIPOffset<Expr<'b>>) {
4076 self.fbb_
4077 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(StartsWithExpr::VT_EXPR, expr);
4078 }
4079 #[inline]
4080 pub fn add_pattern(&mut self, pattern: ::flatbuffers::WIPOffset<&'b str>) {
4081 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
4082 StartsWithExpr::VT_PATTERN,
4083 pattern,
4084 );
4085 }
4086 #[inline]
4087 pub fn new(
4088 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
4089 ) -> StartsWithExprBuilder<'a, 'b, A> {
4090 let start = _fbb.start_table();
4091 StartsWithExprBuilder {
4092 fbb_: _fbb,
4093 start_: start,
4094 }
4095 }
4096 #[inline]
4097 pub fn finish(self) -> ::flatbuffers::WIPOffset<StartsWithExpr<'a>> {
4098 let o = self.fbb_.end_table(self.start_);
4099 ::flatbuffers::WIPOffset::new(o.value())
4100 }
4101 }
4102
4103 impl ::core::fmt::Debug for StartsWithExpr<'_> {
4104 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4105 let mut ds = f.debug_struct("StartsWithExpr");
4106 ds.field("expr", &self.expr());
4107 ds.field("pattern", &self.pattern());
4108 ds.finish()
4109 }
4110 }
4111 pub enum EndsWithExprOffset {}
4112 #[derive(Copy, Clone, PartialEq)]
4113
4114 pub struct EndsWithExpr<'a> {
4115 pub _tab: ::flatbuffers::Table<'a>,
4116 }
4117
4118 impl<'a> ::flatbuffers::Follow<'a> for EndsWithExpr<'a> {
4119 type Inner = EndsWithExpr<'a>;
4120 #[inline]
4121 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4122 Self {
4123 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
4124 }
4125 }
4126 }
4127
4128 impl<'a> EndsWithExpr<'a> {
4129 pub const VT_EXPR: ::flatbuffers::VOffsetT = 4;
4130 pub const VT_PATTERN: ::flatbuffers::VOffsetT = 6;
4131
4132 #[inline]
4133 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
4134 EndsWithExpr { _tab: table }
4135 }
4136 #[allow(unused_mut)]
4137 pub fn create<
4138 'bldr: 'args,
4139 'args: 'mut_bldr,
4140 'mut_bldr,
4141 A: ::flatbuffers::Allocator + 'bldr,
4142 >(
4143 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
4144 args: &'args EndsWithExprArgs<'args>,
4145 ) -> ::flatbuffers::WIPOffset<EndsWithExpr<'bldr>> {
4146 let mut builder = EndsWithExprBuilder::new(_fbb);
4147 if let Some(x) = args.pattern {
4148 builder.add_pattern(x);
4149 }
4150 if let Some(x) = args.expr {
4151 builder.add_expr(x);
4152 }
4153 builder.finish()
4154 }
4155
4156 #[inline]
4157 pub fn expr(&self) -> Option<Expr<'a>> {
4158 unsafe {
4162 self._tab
4163 .get::<::flatbuffers::ForwardsUOffset<Expr>>(EndsWithExpr::VT_EXPR, None)
4164 }
4165 }
4166 #[inline]
4167 pub fn pattern(&self) -> Option<&'a str> {
4168 unsafe {
4172 self._tab
4173 .get::<::flatbuffers::ForwardsUOffset<&str>>(EndsWithExpr::VT_PATTERN, None)
4174 }
4175 }
4176 }
4177
4178 impl ::flatbuffers::Verifiable for EndsWithExpr<'_> {
4179 #[inline]
4180 fn run_verifier(
4181 v: &mut ::flatbuffers::Verifier,
4182 pos: usize,
4183 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
4184 v.visit_table(pos)?
4185 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("expr", Self::VT_EXPR, false)?
4186 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
4187 "pattern",
4188 Self::VT_PATTERN,
4189 false,
4190 )?
4191 .finish();
4192 Ok(())
4193 }
4194 }
4195 pub struct EndsWithExprArgs<'a> {
4196 pub expr: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
4197 pub pattern: Option<::flatbuffers::WIPOffset<&'a str>>,
4198 }
4199 impl<'a> Default for EndsWithExprArgs<'a> {
4200 #[inline]
4201 fn default() -> Self {
4202 EndsWithExprArgs {
4203 expr: None,
4204 pattern: None,
4205 }
4206 }
4207 }
4208
4209 pub struct EndsWithExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
4210 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
4211 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
4212 }
4213 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> EndsWithExprBuilder<'a, 'b, A> {
4214 #[inline]
4215 pub fn add_expr(&mut self, expr: ::flatbuffers::WIPOffset<Expr<'b>>) {
4216 self.fbb_
4217 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(EndsWithExpr::VT_EXPR, expr);
4218 }
4219 #[inline]
4220 pub fn add_pattern(&mut self, pattern: ::flatbuffers::WIPOffset<&'b str>) {
4221 self.fbb_
4222 .push_slot_always::<::flatbuffers::WIPOffset<_>>(EndsWithExpr::VT_PATTERN, pattern);
4223 }
4224 #[inline]
4225 pub fn new(
4226 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
4227 ) -> EndsWithExprBuilder<'a, 'b, A> {
4228 let start = _fbb.start_table();
4229 EndsWithExprBuilder {
4230 fbb_: _fbb,
4231 start_: start,
4232 }
4233 }
4234 #[inline]
4235 pub fn finish(self) -> ::flatbuffers::WIPOffset<EndsWithExpr<'a>> {
4236 let o = self.fbb_.end_table(self.start_);
4237 ::flatbuffers::WIPOffset::new(o.value())
4238 }
4239 }
4240
4241 impl ::core::fmt::Debug for EndsWithExpr<'_> {
4242 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4243 let mut ds = f.debug_struct("EndsWithExpr");
4244 ds.field("expr", &self.expr());
4245 ds.field("pattern", &self.pattern());
4246 ds.finish()
4247 }
4248 }
4249 pub enum ContainsExprOffset {}
4250 #[derive(Copy, Clone, PartialEq)]
4251
4252 pub struct ContainsExpr<'a> {
4253 pub _tab: ::flatbuffers::Table<'a>,
4254 }
4255
4256 impl<'a> ::flatbuffers::Follow<'a> for ContainsExpr<'a> {
4257 type Inner = ContainsExpr<'a>;
4258 #[inline]
4259 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4260 Self {
4261 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
4262 }
4263 }
4264 }
4265
4266 impl<'a> ContainsExpr<'a> {
4267 pub const VT_EXPR: ::flatbuffers::VOffsetT = 4;
4268 pub const VT_PATTERN: ::flatbuffers::VOffsetT = 6;
4269
4270 #[inline]
4271 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
4272 ContainsExpr { _tab: table }
4273 }
4274 #[allow(unused_mut)]
4275 pub fn create<
4276 'bldr: 'args,
4277 'args: 'mut_bldr,
4278 'mut_bldr,
4279 A: ::flatbuffers::Allocator + 'bldr,
4280 >(
4281 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
4282 args: &'args ContainsExprArgs<'args>,
4283 ) -> ::flatbuffers::WIPOffset<ContainsExpr<'bldr>> {
4284 let mut builder = ContainsExprBuilder::new(_fbb);
4285 if let Some(x) = args.pattern {
4286 builder.add_pattern(x);
4287 }
4288 if let Some(x) = args.expr {
4289 builder.add_expr(x);
4290 }
4291 builder.finish()
4292 }
4293
4294 #[inline]
4295 pub fn expr(&self) -> Option<Expr<'a>> {
4296 unsafe {
4300 self._tab
4301 .get::<::flatbuffers::ForwardsUOffset<Expr>>(ContainsExpr::VT_EXPR, None)
4302 }
4303 }
4304 #[inline]
4305 pub fn pattern(&self) -> Option<&'a str> {
4306 unsafe {
4310 self._tab
4311 .get::<::flatbuffers::ForwardsUOffset<&str>>(ContainsExpr::VT_PATTERN, None)
4312 }
4313 }
4314 }
4315
4316 impl ::flatbuffers::Verifiable for ContainsExpr<'_> {
4317 #[inline]
4318 fn run_verifier(
4319 v: &mut ::flatbuffers::Verifier,
4320 pos: usize,
4321 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
4322 v.visit_table(pos)?
4323 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("expr", Self::VT_EXPR, false)?
4324 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
4325 "pattern",
4326 Self::VT_PATTERN,
4327 false,
4328 )?
4329 .finish();
4330 Ok(())
4331 }
4332 }
4333 pub struct ContainsExprArgs<'a> {
4334 pub expr: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
4335 pub pattern: Option<::flatbuffers::WIPOffset<&'a str>>,
4336 }
4337 impl<'a> Default for ContainsExprArgs<'a> {
4338 #[inline]
4339 fn default() -> Self {
4340 ContainsExprArgs {
4341 expr: None,
4342 pattern: None,
4343 }
4344 }
4345 }
4346
4347 pub struct ContainsExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
4348 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
4349 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
4350 }
4351 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ContainsExprBuilder<'a, 'b, A> {
4352 #[inline]
4353 pub fn add_expr(&mut self, expr: ::flatbuffers::WIPOffset<Expr<'b>>) {
4354 self.fbb_
4355 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(ContainsExpr::VT_EXPR, expr);
4356 }
4357 #[inline]
4358 pub fn add_pattern(&mut self, pattern: ::flatbuffers::WIPOffset<&'b str>) {
4359 self.fbb_
4360 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ContainsExpr::VT_PATTERN, pattern);
4361 }
4362 #[inline]
4363 pub fn new(
4364 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
4365 ) -> ContainsExprBuilder<'a, 'b, A> {
4366 let start = _fbb.start_table();
4367 ContainsExprBuilder {
4368 fbb_: _fbb,
4369 start_: start,
4370 }
4371 }
4372 #[inline]
4373 pub fn finish(self) -> ::flatbuffers::WIPOffset<ContainsExpr<'a>> {
4374 let o = self.fbb_.end_table(self.start_);
4375 ::flatbuffers::WIPOffset::new(o.value())
4376 }
4377 }
4378
4379 impl ::core::fmt::Debug for ContainsExpr<'_> {
4380 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4381 let mut ds = f.debug_struct("ContainsExpr");
4382 ds.field("expr", &self.expr());
4383 ds.field("pattern", &self.pattern());
4384 ds.finish()
4385 }
4386 }
4387 pub enum InExprOffset {}
4388 #[derive(Copy, Clone, PartialEq)]
4389
4390 pub struct InExpr<'a> {
4391 pub _tab: ::flatbuffers::Table<'a>,
4392 }
4393
4394 impl<'a> ::flatbuffers::Follow<'a> for InExpr<'a> {
4395 type Inner = InExpr<'a>;
4396 #[inline]
4397 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4398 Self {
4399 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
4400 }
4401 }
4402 }
4403
4404 impl<'a> InExpr<'a> {
4405 pub const VT_EXPR: ::flatbuffers::VOffsetT = 4;
4406 pub const VT_ITEMS: ::flatbuffers::VOffsetT = 6;
4407
4408 #[inline]
4409 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
4410 InExpr { _tab: table }
4411 }
4412 #[allow(unused_mut)]
4413 pub fn create<
4414 'bldr: 'args,
4415 'args: 'mut_bldr,
4416 'mut_bldr,
4417 A: ::flatbuffers::Allocator + 'bldr,
4418 >(
4419 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
4420 args: &'args InExprArgs<'args>,
4421 ) -> ::flatbuffers::WIPOffset<InExpr<'bldr>> {
4422 let mut builder = InExprBuilder::new(_fbb);
4423 if let Some(x) = args.items {
4424 builder.add_items(x);
4425 }
4426 if let Some(x) = args.expr {
4427 builder.add_expr(x);
4428 }
4429 builder.finish()
4430 }
4431
4432 #[inline]
4433 pub fn expr(&self) -> Option<Expr<'a>> {
4434 unsafe {
4438 self._tab
4439 .get::<::flatbuffers::ForwardsUOffset<Expr>>(InExpr::VT_EXPR, None)
4440 }
4441 }
4442 #[inline]
4443 pub fn items(
4444 &self,
4445 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<Expr<'a>>>> {
4446 unsafe {
4450 self._tab.get::<::flatbuffers::ForwardsUOffset<
4451 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<Expr>>,
4452 >>(InExpr::VT_ITEMS, None)
4453 }
4454 }
4455 }
4456
4457 impl ::flatbuffers::Verifiable for InExpr<'_> {
4458 #[inline]
4459 fn run_verifier(
4460 v: &mut ::flatbuffers::Verifier,
4461 pos: usize,
4462 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
4463 v.visit_table(pos)?
4464 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("expr", Self::VT_EXPR, false)?
4465 .visit_field::<::flatbuffers::ForwardsUOffset<
4466 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<Expr>>,
4467 >>("items", Self::VT_ITEMS, false)?
4468 .finish();
4469 Ok(())
4470 }
4471 }
4472 pub struct InExprArgs<'a> {
4473 pub expr: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
4474 pub items: Option<
4475 ::flatbuffers::WIPOffset<
4476 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<Expr<'a>>>,
4477 >,
4478 >,
4479 }
4480 impl<'a> Default for InExprArgs<'a> {
4481 #[inline]
4482 fn default() -> Self {
4483 InExprArgs {
4484 expr: None,
4485 items: None,
4486 }
4487 }
4488 }
4489
4490 pub struct InExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
4491 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
4492 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
4493 }
4494 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> InExprBuilder<'a, 'b, A> {
4495 #[inline]
4496 pub fn add_expr(&mut self, expr: ::flatbuffers::WIPOffset<Expr<'b>>) {
4497 self.fbb_
4498 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(InExpr::VT_EXPR, expr);
4499 }
4500 #[inline]
4501 pub fn add_items(
4502 &mut self,
4503 items: ::flatbuffers::WIPOffset<
4504 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<Expr<'b>>>,
4505 >,
4506 ) {
4507 self.fbb_
4508 .push_slot_always::<::flatbuffers::WIPOffset<_>>(InExpr::VT_ITEMS, items);
4509 }
4510 #[inline]
4511 pub fn new(
4512 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
4513 ) -> InExprBuilder<'a, 'b, A> {
4514 let start = _fbb.start_table();
4515 InExprBuilder {
4516 fbb_: _fbb,
4517 start_: start,
4518 }
4519 }
4520 #[inline]
4521 pub fn finish(self) -> ::flatbuffers::WIPOffset<InExpr<'a>> {
4522 let o = self.fbb_.end_table(self.start_);
4523 ::flatbuffers::WIPOffset::new(o.value())
4524 }
4525 }
4526
4527 impl ::core::fmt::Debug for InExpr<'_> {
4528 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4529 let mut ds = f.debug_struct("InExpr");
4530 ds.field("expr", &self.expr());
4531 ds.field("items", &self.items());
4532 ds.finish()
4533 }
4534 }
4535 pub enum ListLiteralExprOffset {}
4536 #[derive(Copy, Clone, PartialEq)]
4537
4538 pub struct ListLiteralExpr<'a> {
4539 pub _tab: ::flatbuffers::Table<'a>,
4540 }
4541
4542 impl<'a> ::flatbuffers::Follow<'a> for ListLiteralExpr<'a> {
4543 type Inner = ListLiteralExpr<'a>;
4544 #[inline]
4545 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4546 Self {
4547 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
4548 }
4549 }
4550 }
4551
4552 impl<'a> ListLiteralExpr<'a> {
4553 pub const VT_ITEMS: ::flatbuffers::VOffsetT = 4;
4554
4555 #[inline]
4556 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
4557 ListLiteralExpr { _tab: table }
4558 }
4559 #[allow(unused_mut)]
4560 pub fn create<
4561 'bldr: 'args,
4562 'args: 'mut_bldr,
4563 'mut_bldr,
4564 A: ::flatbuffers::Allocator + 'bldr,
4565 >(
4566 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
4567 args: &'args ListLiteralExprArgs<'args>,
4568 ) -> ::flatbuffers::WIPOffset<ListLiteralExpr<'bldr>> {
4569 let mut builder = ListLiteralExprBuilder::new(_fbb);
4570 if let Some(x) = args.items {
4571 builder.add_items(x);
4572 }
4573 builder.finish()
4574 }
4575
4576 #[inline]
4577 pub fn items(
4578 &self,
4579 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<Expr<'a>>>> {
4580 unsafe {
4584 self._tab.get::<::flatbuffers::ForwardsUOffset<
4585 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<Expr>>,
4586 >>(ListLiteralExpr::VT_ITEMS, None)
4587 }
4588 }
4589 }
4590
4591 impl ::flatbuffers::Verifiable for ListLiteralExpr<'_> {
4592 #[inline]
4593 fn run_verifier(
4594 v: &mut ::flatbuffers::Verifier,
4595 pos: usize,
4596 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
4597 v.visit_table(pos)?
4598 .visit_field::<::flatbuffers::ForwardsUOffset<
4599 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<Expr>>,
4600 >>("items", Self::VT_ITEMS, false)?
4601 .finish();
4602 Ok(())
4603 }
4604 }
4605 pub struct ListLiteralExprArgs<'a> {
4606 pub items: Option<
4607 ::flatbuffers::WIPOffset<
4608 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<Expr<'a>>>,
4609 >,
4610 >,
4611 }
4612 impl<'a> Default for ListLiteralExprArgs<'a> {
4613 #[inline]
4614 fn default() -> Self {
4615 ListLiteralExprArgs { items: None }
4616 }
4617 }
4618
4619 pub struct ListLiteralExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
4620 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
4621 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
4622 }
4623 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ListLiteralExprBuilder<'a, 'b, A> {
4624 #[inline]
4625 pub fn add_items(
4626 &mut self,
4627 items: ::flatbuffers::WIPOffset<
4628 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<Expr<'b>>>,
4629 >,
4630 ) {
4631 self.fbb_
4632 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ListLiteralExpr::VT_ITEMS, items);
4633 }
4634 #[inline]
4635 pub fn new(
4636 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
4637 ) -> ListLiteralExprBuilder<'a, 'b, A> {
4638 let start = _fbb.start_table();
4639 ListLiteralExprBuilder {
4640 fbb_: _fbb,
4641 start_: start,
4642 }
4643 }
4644 #[inline]
4645 pub fn finish(self) -> ::flatbuffers::WIPOffset<ListLiteralExpr<'a>> {
4646 let o = self.fbb_.end_table(self.start_);
4647 ::flatbuffers::WIPOffset::new(o.value())
4648 }
4649 }
4650
4651 impl ::core::fmt::Debug for ListLiteralExpr<'_> {
4652 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4653 let mut ds = f.debug_struct("ListLiteralExpr");
4654 ds.field("items", &self.items());
4655 ds.finish()
4656 }
4657 }
4658 pub enum MapEntryExprOffset {}
4659 #[derive(Copy, Clone, PartialEq)]
4660
4661 pub struct MapEntryExpr<'a> {
4662 pub _tab: ::flatbuffers::Table<'a>,
4663 }
4664
4665 impl<'a> ::flatbuffers::Follow<'a> for MapEntryExpr<'a> {
4666 type Inner = MapEntryExpr<'a>;
4667 #[inline]
4668 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4669 Self {
4670 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
4671 }
4672 }
4673 }
4674
4675 impl<'a> MapEntryExpr<'a> {
4676 pub const VT_KEY: ::flatbuffers::VOffsetT = 4;
4677 pub const VT_VALUE: ::flatbuffers::VOffsetT = 6;
4678
4679 #[inline]
4680 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
4681 MapEntryExpr { _tab: table }
4682 }
4683 #[allow(unused_mut)]
4684 pub fn create<
4685 'bldr: 'args,
4686 'args: 'mut_bldr,
4687 'mut_bldr,
4688 A: ::flatbuffers::Allocator + 'bldr,
4689 >(
4690 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
4691 args: &'args MapEntryExprArgs<'args>,
4692 ) -> ::flatbuffers::WIPOffset<MapEntryExpr<'bldr>> {
4693 let mut builder = MapEntryExprBuilder::new(_fbb);
4694 if let Some(x) = args.value {
4695 builder.add_value(x);
4696 }
4697 if let Some(x) = args.key {
4698 builder.add_key(x);
4699 }
4700 builder.finish()
4701 }
4702
4703 #[inline]
4704 pub fn key(&self) -> Option<&'a str> {
4705 unsafe {
4709 self._tab
4710 .get::<::flatbuffers::ForwardsUOffset<&str>>(MapEntryExpr::VT_KEY, None)
4711 }
4712 }
4713 #[inline]
4714 pub fn value(&self) -> Option<Expr<'a>> {
4715 unsafe {
4719 self._tab
4720 .get::<::flatbuffers::ForwardsUOffset<Expr>>(MapEntryExpr::VT_VALUE, None)
4721 }
4722 }
4723 }
4724
4725 impl ::flatbuffers::Verifiable for MapEntryExpr<'_> {
4726 #[inline]
4727 fn run_verifier(
4728 v: &mut ::flatbuffers::Verifier,
4729 pos: usize,
4730 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
4731 v.visit_table(pos)?
4732 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>("key", Self::VT_KEY, false)?
4733 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>(
4734 "value",
4735 Self::VT_VALUE,
4736 false,
4737 )?
4738 .finish();
4739 Ok(())
4740 }
4741 }
4742 pub struct MapEntryExprArgs<'a> {
4743 pub key: Option<::flatbuffers::WIPOffset<&'a str>>,
4744 pub value: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
4745 }
4746 impl<'a> Default for MapEntryExprArgs<'a> {
4747 #[inline]
4748 fn default() -> Self {
4749 MapEntryExprArgs {
4750 key: None,
4751 value: None,
4752 }
4753 }
4754 }
4755
4756 pub struct MapEntryExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
4757 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
4758 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
4759 }
4760 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> MapEntryExprBuilder<'a, 'b, A> {
4761 #[inline]
4762 pub fn add_key(&mut self, key: ::flatbuffers::WIPOffset<&'b str>) {
4763 self.fbb_
4764 .push_slot_always::<::flatbuffers::WIPOffset<_>>(MapEntryExpr::VT_KEY, key);
4765 }
4766 #[inline]
4767 pub fn add_value(&mut self, value: ::flatbuffers::WIPOffset<Expr<'b>>) {
4768 self.fbb_
4769 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(MapEntryExpr::VT_VALUE, value);
4770 }
4771 #[inline]
4772 pub fn new(
4773 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
4774 ) -> MapEntryExprBuilder<'a, 'b, A> {
4775 let start = _fbb.start_table();
4776 MapEntryExprBuilder {
4777 fbb_: _fbb,
4778 start_: start,
4779 }
4780 }
4781 #[inline]
4782 pub fn finish(self) -> ::flatbuffers::WIPOffset<MapEntryExpr<'a>> {
4783 let o = self.fbb_.end_table(self.start_);
4784 ::flatbuffers::WIPOffset::new(o.value())
4785 }
4786 }
4787
4788 impl ::core::fmt::Debug for MapEntryExpr<'_> {
4789 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4790 let mut ds = f.debug_struct("MapEntryExpr");
4791 ds.field("key", &self.key());
4792 ds.field("value", &self.value());
4793 ds.finish()
4794 }
4795 }
4796 pub enum MapLiteralExprOffset {}
4797 #[derive(Copy, Clone, PartialEq)]
4798
4799 pub struct MapLiteralExpr<'a> {
4800 pub _tab: ::flatbuffers::Table<'a>,
4801 }
4802
4803 impl<'a> ::flatbuffers::Follow<'a> for MapLiteralExpr<'a> {
4804 type Inner = MapLiteralExpr<'a>;
4805 #[inline]
4806 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4807 Self {
4808 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
4809 }
4810 }
4811 }
4812
4813 impl<'a> MapLiteralExpr<'a> {
4814 pub const VT_ENTRIES: ::flatbuffers::VOffsetT = 4;
4815
4816 #[inline]
4817 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
4818 MapLiteralExpr { _tab: table }
4819 }
4820 #[allow(unused_mut)]
4821 pub fn create<
4822 'bldr: 'args,
4823 'args: 'mut_bldr,
4824 'mut_bldr,
4825 A: ::flatbuffers::Allocator + 'bldr,
4826 >(
4827 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
4828 args: &'args MapLiteralExprArgs<'args>,
4829 ) -> ::flatbuffers::WIPOffset<MapLiteralExpr<'bldr>> {
4830 let mut builder = MapLiteralExprBuilder::new(_fbb);
4831 if let Some(x) = args.entries {
4832 builder.add_entries(x);
4833 }
4834 builder.finish()
4835 }
4836
4837 #[inline]
4838 pub fn entries(
4839 &self,
4840 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<MapEntryExpr<'a>>>>
4841 {
4842 unsafe {
4846 self._tab.get::<::flatbuffers::ForwardsUOffset<
4847 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<MapEntryExpr>>,
4848 >>(MapLiteralExpr::VT_ENTRIES, None)
4849 }
4850 }
4851 }
4852
4853 impl ::flatbuffers::Verifiable for MapLiteralExpr<'_> {
4854 #[inline]
4855 fn run_verifier(
4856 v: &mut ::flatbuffers::Verifier,
4857 pos: usize,
4858 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
4859 v.visit_table(pos)?
4860 .visit_field::<::flatbuffers::ForwardsUOffset<
4861 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<MapEntryExpr>>,
4862 >>("entries", Self::VT_ENTRIES, false)?
4863 .finish();
4864 Ok(())
4865 }
4866 }
4867 pub struct MapLiteralExprArgs<'a> {
4868 pub entries: Option<
4869 ::flatbuffers::WIPOffset<
4870 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<MapEntryExpr<'a>>>,
4871 >,
4872 >,
4873 }
4874 impl<'a> Default for MapLiteralExprArgs<'a> {
4875 #[inline]
4876 fn default() -> Self {
4877 MapLiteralExprArgs { entries: None }
4878 }
4879 }
4880
4881 pub struct MapLiteralExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
4882 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
4883 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
4884 }
4885 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> MapLiteralExprBuilder<'a, 'b, A> {
4886 #[inline]
4887 pub fn add_entries(
4888 &mut self,
4889 entries: ::flatbuffers::WIPOffset<
4890 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<MapEntryExpr<'b>>>,
4891 >,
4892 ) {
4893 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
4894 MapLiteralExpr::VT_ENTRIES,
4895 entries,
4896 );
4897 }
4898 #[inline]
4899 pub fn new(
4900 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
4901 ) -> MapLiteralExprBuilder<'a, 'b, A> {
4902 let start = _fbb.start_table();
4903 MapLiteralExprBuilder {
4904 fbb_: _fbb,
4905 start_: start,
4906 }
4907 }
4908 #[inline]
4909 pub fn finish(self) -> ::flatbuffers::WIPOffset<MapLiteralExpr<'a>> {
4910 let o = self.fbb_.end_table(self.start_);
4911 ::flatbuffers::WIPOffset::new(o.value())
4912 }
4913 }
4914
4915 impl ::core::fmt::Debug for MapLiteralExpr<'_> {
4916 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4917 let mut ds = f.debug_struct("MapLiteralExpr");
4918 ds.field("entries", &self.entries());
4919 ds.finish()
4920 }
4921 }
4922 pub enum ExistsExprOffset {}
4923 #[derive(Copy, Clone, PartialEq)]
4924
4925 pub struct ExistsExpr<'a> {
4926 pub _tab: ::flatbuffers::Table<'a>,
4927 }
4928
4929 impl<'a> ::flatbuffers::Follow<'a> for ExistsExpr<'a> {
4930 type Inner = ExistsExpr<'a>;
4931 #[inline]
4932 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4933 Self {
4934 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
4935 }
4936 }
4937 }
4938
4939 impl<'a> ExistsExpr<'a> {
4940 pub const VT_EXPR: ::flatbuffers::VOffsetT = 4;
4941
4942 #[inline]
4943 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
4944 ExistsExpr { _tab: table }
4945 }
4946 #[allow(unused_mut)]
4947 pub fn create<
4948 'bldr: 'args,
4949 'args: 'mut_bldr,
4950 'mut_bldr,
4951 A: ::flatbuffers::Allocator + 'bldr,
4952 >(
4953 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
4954 args: &'args ExistsExprArgs<'args>,
4955 ) -> ::flatbuffers::WIPOffset<ExistsExpr<'bldr>> {
4956 let mut builder = ExistsExprBuilder::new(_fbb);
4957 if let Some(x) = args.expr {
4958 builder.add_expr(x);
4959 }
4960 builder.finish()
4961 }
4962
4963 #[inline]
4964 pub fn expr(&self) -> Option<Expr<'a>> {
4965 unsafe {
4969 self._tab
4970 .get::<::flatbuffers::ForwardsUOffset<Expr>>(ExistsExpr::VT_EXPR, None)
4971 }
4972 }
4973 }
4974
4975 impl ::flatbuffers::Verifiable for ExistsExpr<'_> {
4976 #[inline]
4977 fn run_verifier(
4978 v: &mut ::flatbuffers::Verifier,
4979 pos: usize,
4980 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
4981 v.visit_table(pos)?
4982 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("expr", Self::VT_EXPR, false)?
4983 .finish();
4984 Ok(())
4985 }
4986 }
4987 pub struct ExistsExprArgs<'a> {
4988 pub expr: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
4989 }
4990 impl<'a> Default for ExistsExprArgs<'a> {
4991 #[inline]
4992 fn default() -> Self {
4993 ExistsExprArgs { expr: None }
4994 }
4995 }
4996
4997 pub struct ExistsExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
4998 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
4999 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
5000 }
5001 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ExistsExprBuilder<'a, 'b, A> {
5002 #[inline]
5003 pub fn add_expr(&mut self, expr: ::flatbuffers::WIPOffset<Expr<'b>>) {
5004 self.fbb_
5005 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(ExistsExpr::VT_EXPR, expr);
5006 }
5007 #[inline]
5008 pub fn new(
5009 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
5010 ) -> ExistsExprBuilder<'a, 'b, A> {
5011 let start = _fbb.start_table();
5012 ExistsExprBuilder {
5013 fbb_: _fbb,
5014 start_: start,
5015 }
5016 }
5017 #[inline]
5018 pub fn finish(self) -> ::flatbuffers::WIPOffset<ExistsExpr<'a>> {
5019 let o = self.fbb_.end_table(self.start_);
5020 ::flatbuffers::WIPOffset::new(o.value())
5021 }
5022 }
5023
5024 impl ::core::fmt::Debug for ExistsExpr<'_> {
5025 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5026 let mut ds = f.debug_struct("ExistsExpr");
5027 ds.field("expr", &self.expr());
5028 ds.finish()
5029 }
5030 }
5031 pub enum ListComprehensionExprOffset {}
5032 #[derive(Copy, Clone, PartialEq)]
5033
5034 pub struct ListComprehensionExpr<'a> {
5035 pub _tab: ::flatbuffers::Table<'a>,
5036 }
5037
5038 impl<'a> ::flatbuffers::Follow<'a> for ListComprehensionExpr<'a> {
5039 type Inner = ListComprehensionExpr<'a>;
5040 #[inline]
5041 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5042 Self {
5043 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
5044 }
5045 }
5046 }
5047
5048 impl<'a> ListComprehensionExpr<'a> {
5049 pub const VT_LIST: ::flatbuffers::VOffsetT = 4;
5050 pub const VT_VAR: ::flatbuffers::VOffsetT = 6;
5051 pub const VT_PREDICATE: ::flatbuffers::VOffsetT = 8;
5052 pub const VT_MAP: ::flatbuffers::VOffsetT = 10;
5053
5054 #[inline]
5055 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
5056 ListComprehensionExpr { _tab: table }
5057 }
5058 #[allow(unused_mut)]
5059 pub fn create<
5060 'bldr: 'args,
5061 'args: 'mut_bldr,
5062 'mut_bldr,
5063 A: ::flatbuffers::Allocator + 'bldr,
5064 >(
5065 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
5066 args: &'args ListComprehensionExprArgs<'args>,
5067 ) -> ::flatbuffers::WIPOffset<ListComprehensionExpr<'bldr>> {
5068 let mut builder = ListComprehensionExprBuilder::new(_fbb);
5069 if let Some(x) = args.map {
5070 builder.add_map(x);
5071 }
5072 if let Some(x) = args.predicate {
5073 builder.add_predicate(x);
5074 }
5075 if let Some(x) = args.var {
5076 builder.add_var(x);
5077 }
5078 if let Some(x) = args.list {
5079 builder.add_list(x);
5080 }
5081 builder.finish()
5082 }
5083
5084 #[inline]
5085 pub fn list(&self) -> Option<Expr<'a>> {
5086 unsafe {
5090 self._tab.get::<::flatbuffers::ForwardsUOffset<Expr>>(
5091 ListComprehensionExpr::VT_LIST,
5092 None,
5093 )
5094 }
5095 }
5096 #[inline]
5097 pub fn var(&self) -> Option<&'a str> {
5098 unsafe {
5102 self._tab.get::<::flatbuffers::ForwardsUOffset<&str>>(
5103 ListComprehensionExpr::VT_VAR,
5104 None,
5105 )
5106 }
5107 }
5108 #[inline]
5109 pub fn predicate(&self) -> Option<Expr<'a>> {
5110 unsafe {
5114 self._tab.get::<::flatbuffers::ForwardsUOffset<Expr>>(
5115 ListComprehensionExpr::VT_PREDICATE,
5116 None,
5117 )
5118 }
5119 }
5120 #[inline]
5121 pub fn map(&self) -> Option<Expr<'a>> {
5122 unsafe {
5126 self._tab.get::<::flatbuffers::ForwardsUOffset<Expr>>(
5127 ListComprehensionExpr::VT_MAP,
5128 None,
5129 )
5130 }
5131 }
5132 }
5133
5134 impl ::flatbuffers::Verifiable for ListComprehensionExpr<'_> {
5135 #[inline]
5136 fn run_verifier(
5137 v: &mut ::flatbuffers::Verifier,
5138 pos: usize,
5139 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
5140 v.visit_table(pos)?
5141 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("list", Self::VT_LIST, false)?
5142 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>("var", Self::VT_VAR, false)?
5143 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>(
5144 "predicate",
5145 Self::VT_PREDICATE,
5146 false,
5147 )?
5148 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("map", Self::VT_MAP, false)?
5149 .finish();
5150 Ok(())
5151 }
5152 }
5153 pub struct ListComprehensionExprArgs<'a> {
5154 pub list: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
5155 pub var: Option<::flatbuffers::WIPOffset<&'a str>>,
5156 pub predicate: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
5157 pub map: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
5158 }
5159 impl<'a> Default for ListComprehensionExprArgs<'a> {
5160 #[inline]
5161 fn default() -> Self {
5162 ListComprehensionExprArgs {
5163 list: None,
5164 var: None,
5165 predicate: None,
5166 map: None,
5167 }
5168 }
5169 }
5170
5171 pub struct ListComprehensionExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
5172 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
5173 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
5174 }
5175 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ListComprehensionExprBuilder<'a, 'b, A> {
5176 #[inline]
5177 pub fn add_list(&mut self, list: ::flatbuffers::WIPOffset<Expr<'b>>) {
5178 self.fbb_
5179 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(
5180 ListComprehensionExpr::VT_LIST,
5181 list,
5182 );
5183 }
5184 #[inline]
5185 pub fn add_var(&mut self, var: ::flatbuffers::WIPOffset<&'b str>) {
5186 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
5187 ListComprehensionExpr::VT_VAR,
5188 var,
5189 );
5190 }
5191 #[inline]
5192 pub fn add_predicate(&mut self, predicate: ::flatbuffers::WIPOffset<Expr<'b>>) {
5193 self.fbb_
5194 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(
5195 ListComprehensionExpr::VT_PREDICATE,
5196 predicate,
5197 );
5198 }
5199 #[inline]
5200 pub fn add_map(&mut self, map: ::flatbuffers::WIPOffset<Expr<'b>>) {
5201 self.fbb_
5202 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(
5203 ListComprehensionExpr::VT_MAP,
5204 map,
5205 );
5206 }
5207 #[inline]
5208 pub fn new(
5209 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
5210 ) -> ListComprehensionExprBuilder<'a, 'b, A> {
5211 let start = _fbb.start_table();
5212 ListComprehensionExprBuilder {
5213 fbb_: _fbb,
5214 start_: start,
5215 }
5216 }
5217 #[inline]
5218 pub fn finish(self) -> ::flatbuffers::WIPOffset<ListComprehensionExpr<'a>> {
5219 let o = self.fbb_.end_table(self.start_);
5220 ::flatbuffers::WIPOffset::new(o.value())
5221 }
5222 }
5223
5224 impl ::core::fmt::Debug for ListComprehensionExpr<'_> {
5225 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5226 let mut ds = f.debug_struct("ListComprehensionExpr");
5227 ds.field("list", &self.list());
5228 ds.field("var", &self.var());
5229 ds.field("predicate", &self.predicate());
5230 ds.field("map", &self.map());
5231 ds.finish()
5232 }
5233 }
5234 pub enum AggExprOffset {}
5235 #[derive(Copy, Clone, PartialEq)]
5236
5237 pub struct AggExpr<'a> {
5238 pub _tab: ::flatbuffers::Table<'a>,
5239 }
5240
5241 impl<'a> ::flatbuffers::Follow<'a> for AggExpr<'a> {
5242 type Inner = AggExpr<'a>;
5243 #[inline]
5244 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5245 Self {
5246 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
5247 }
5248 }
5249 }
5250
5251 impl<'a> AggExpr<'a> {
5252 pub const VT_FN_: ::flatbuffers::VOffsetT = 4;
5253 pub const VT_EXPR: ::flatbuffers::VOffsetT = 6;
5254
5255 #[inline]
5256 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
5257 AggExpr { _tab: table }
5258 }
5259 #[allow(unused_mut)]
5260 pub fn create<
5261 'bldr: 'args,
5262 'args: 'mut_bldr,
5263 'mut_bldr,
5264 A: ::flatbuffers::Allocator + 'bldr,
5265 >(
5266 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
5267 args: &'args AggExprArgs<'args>,
5268 ) -> ::flatbuffers::WIPOffset<AggExpr<'bldr>> {
5269 let mut builder = AggExprBuilder::new(_fbb);
5270 if let Some(x) = args.expr {
5271 builder.add_expr(x);
5272 }
5273 builder.add_fn_(args.fn_);
5274 builder.finish()
5275 }
5276
5277 #[inline]
5278 pub fn fn_(&self) -> AggFn {
5279 unsafe {
5283 self._tab
5284 .get::<AggFn>(AggExpr::VT_FN_, Some(AggFn::count))
5285 .unwrap()
5286 }
5287 }
5288 #[inline]
5289 pub fn expr(&self) -> Option<Expr<'a>> {
5290 unsafe {
5294 self._tab
5295 .get::<::flatbuffers::ForwardsUOffset<Expr>>(AggExpr::VT_EXPR, None)
5296 }
5297 }
5298 }
5299
5300 impl ::flatbuffers::Verifiable for AggExpr<'_> {
5301 #[inline]
5302 fn run_verifier(
5303 v: &mut ::flatbuffers::Verifier,
5304 pos: usize,
5305 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
5306 v.visit_table(pos)?
5307 .visit_field::<AggFn>("fn_", Self::VT_FN_, false)?
5308 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("expr", Self::VT_EXPR, false)?
5309 .finish();
5310 Ok(())
5311 }
5312 }
5313 pub struct AggExprArgs<'a> {
5314 pub fn_: AggFn,
5315 pub expr: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
5316 }
5317 impl<'a> Default for AggExprArgs<'a> {
5318 #[inline]
5319 fn default() -> Self {
5320 AggExprArgs {
5321 fn_: AggFn::count,
5322 expr: None,
5323 }
5324 }
5325 }
5326
5327 pub struct AggExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
5328 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
5329 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
5330 }
5331 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> AggExprBuilder<'a, 'b, A> {
5332 #[inline]
5333 pub fn add_fn_(&mut self, fn_: AggFn) {
5334 self.fbb_
5335 .push_slot::<AggFn>(AggExpr::VT_FN_, fn_, AggFn::count);
5336 }
5337 #[inline]
5338 pub fn add_expr(&mut self, expr: ::flatbuffers::WIPOffset<Expr<'b>>) {
5339 self.fbb_
5340 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(AggExpr::VT_EXPR, expr);
5341 }
5342 #[inline]
5343 pub fn new(
5344 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
5345 ) -> AggExprBuilder<'a, 'b, A> {
5346 let start = _fbb.start_table();
5347 AggExprBuilder {
5348 fbb_: _fbb,
5349 start_: start,
5350 }
5351 }
5352 #[inline]
5353 pub fn finish(self) -> ::flatbuffers::WIPOffset<AggExpr<'a>> {
5354 let o = self.fbb_.end_table(self.start_);
5355 ::flatbuffers::WIPOffset::new(o.value())
5356 }
5357 }
5358
5359 impl ::core::fmt::Debug for AggExpr<'_> {
5360 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5361 let mut ds = f.debug_struct("AggExpr");
5362 ds.field("fn_", &self.fn_());
5363 ds.field("expr", &self.expr());
5364 ds.finish()
5365 }
5366 }
5367 pub enum ArithExprOffset {}
5368 #[derive(Copy, Clone, PartialEq)]
5369
5370 pub struct ArithExpr<'a> {
5371 pub _tab: ::flatbuffers::Table<'a>,
5372 }
5373
5374 impl<'a> ::flatbuffers::Follow<'a> for ArithExpr<'a> {
5375 type Inner = ArithExpr<'a>;
5376 #[inline]
5377 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5378 Self {
5379 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
5380 }
5381 }
5382 }
5383
5384 impl<'a> ArithExpr<'a> {
5385 pub const VT_OP: ::flatbuffers::VOffsetT = 4;
5386 pub const VT_LHS: ::flatbuffers::VOffsetT = 6;
5387 pub const VT_RHS: ::flatbuffers::VOffsetT = 8;
5388
5389 #[inline]
5390 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
5391 ArithExpr { _tab: table }
5392 }
5393 #[allow(unused_mut)]
5394 pub fn create<
5395 'bldr: 'args,
5396 'args: 'mut_bldr,
5397 'mut_bldr,
5398 A: ::flatbuffers::Allocator + 'bldr,
5399 >(
5400 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
5401 args: &'args ArithExprArgs<'args>,
5402 ) -> ::flatbuffers::WIPOffset<ArithExpr<'bldr>> {
5403 let mut builder = ArithExprBuilder::new(_fbb);
5404 if let Some(x) = args.rhs {
5405 builder.add_rhs(x);
5406 }
5407 if let Some(x) = args.lhs {
5408 builder.add_lhs(x);
5409 }
5410 builder.add_op(args.op);
5411 builder.finish()
5412 }
5413
5414 #[inline]
5415 pub fn op(&self) -> ArithOp {
5416 unsafe {
5420 self._tab
5421 .get::<ArithOp>(ArithExpr::VT_OP, Some(ArithOp::add))
5422 .unwrap()
5423 }
5424 }
5425 #[inline]
5426 pub fn lhs(&self) -> Option<Expr<'a>> {
5427 unsafe {
5431 self._tab
5432 .get::<::flatbuffers::ForwardsUOffset<Expr>>(ArithExpr::VT_LHS, None)
5433 }
5434 }
5435 #[inline]
5436 pub fn rhs(&self) -> Option<Expr<'a>> {
5437 unsafe {
5441 self._tab
5442 .get::<::flatbuffers::ForwardsUOffset<Expr>>(ArithExpr::VT_RHS, None)
5443 }
5444 }
5445 }
5446
5447 impl ::flatbuffers::Verifiable for ArithExpr<'_> {
5448 #[inline]
5449 fn run_verifier(
5450 v: &mut ::flatbuffers::Verifier,
5451 pos: usize,
5452 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
5453 v.visit_table(pos)?
5454 .visit_field::<ArithOp>("op", Self::VT_OP, false)?
5455 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("lhs", Self::VT_LHS, false)?
5456 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("rhs", Self::VT_RHS, false)?
5457 .finish();
5458 Ok(())
5459 }
5460 }
5461 pub struct ArithExprArgs<'a> {
5462 pub op: ArithOp,
5463 pub lhs: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
5464 pub rhs: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
5465 }
5466 impl<'a> Default for ArithExprArgs<'a> {
5467 #[inline]
5468 fn default() -> Self {
5469 ArithExprArgs {
5470 op: ArithOp::add,
5471 lhs: None,
5472 rhs: None,
5473 }
5474 }
5475 }
5476
5477 pub struct ArithExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
5478 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
5479 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
5480 }
5481 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ArithExprBuilder<'a, 'b, A> {
5482 #[inline]
5483 pub fn add_op(&mut self, op: ArithOp) {
5484 self.fbb_
5485 .push_slot::<ArithOp>(ArithExpr::VT_OP, op, ArithOp::add);
5486 }
5487 #[inline]
5488 pub fn add_lhs(&mut self, lhs: ::flatbuffers::WIPOffset<Expr<'b>>) {
5489 self.fbb_
5490 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(ArithExpr::VT_LHS, lhs);
5491 }
5492 #[inline]
5493 pub fn add_rhs(&mut self, rhs: ::flatbuffers::WIPOffset<Expr<'b>>) {
5494 self.fbb_
5495 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(ArithExpr::VT_RHS, rhs);
5496 }
5497 #[inline]
5498 pub fn new(
5499 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
5500 ) -> ArithExprBuilder<'a, 'b, A> {
5501 let start = _fbb.start_table();
5502 ArithExprBuilder {
5503 fbb_: _fbb,
5504 start_: start,
5505 }
5506 }
5507 #[inline]
5508 pub fn finish(self) -> ::flatbuffers::WIPOffset<ArithExpr<'a>> {
5509 let o = self.fbb_.end_table(self.start_);
5510 ::flatbuffers::WIPOffset::new(o.value())
5511 }
5512 }
5513
5514 impl ::core::fmt::Debug for ArithExpr<'_> {
5515 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5516 let mut ds = f.debug_struct("ArithExpr");
5517 ds.field("op", &self.op());
5518 ds.field("lhs", &self.lhs());
5519 ds.field("rhs", &self.rhs());
5520 ds.finish()
5521 }
5522 }
5523 pub enum ParamExprOffset {}
5524 #[derive(Copy, Clone, PartialEq)]
5525
5526 pub struct ParamExpr<'a> {
5527 pub _tab: ::flatbuffers::Table<'a>,
5528 }
5529
5530 impl<'a> ::flatbuffers::Follow<'a> for ParamExpr<'a> {
5531 type Inner = ParamExpr<'a>;
5532 #[inline]
5533 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5534 Self {
5535 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
5536 }
5537 }
5538 }
5539
5540 impl<'a> ParamExpr<'a> {
5541 pub const VT_NAME: ::flatbuffers::VOffsetT = 4;
5542 pub const VT_EXPECTED_TYPE: ::flatbuffers::VOffsetT = 6;
5543
5544 #[inline]
5545 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
5546 ParamExpr { _tab: table }
5547 }
5548 #[allow(unused_mut)]
5549 pub fn create<
5550 'bldr: 'args,
5551 'args: 'mut_bldr,
5552 'mut_bldr,
5553 A: ::flatbuffers::Allocator + 'bldr,
5554 >(
5555 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
5556 args: &'args ParamExprArgs<'args>,
5557 ) -> ::flatbuffers::WIPOffset<ParamExpr<'bldr>> {
5558 let mut builder = ParamExprBuilder::new(_fbb);
5559 if let Some(x) = args.expected_type {
5560 builder.add_expected_type(x);
5561 }
5562 if let Some(x) = args.name {
5563 builder.add_name(x);
5564 }
5565 builder.finish()
5566 }
5567
5568 #[inline]
5569 pub fn name(&self) -> Option<&'a str> {
5570 unsafe {
5574 self._tab
5575 .get::<::flatbuffers::ForwardsUOffset<&str>>(ParamExpr::VT_NAME, None)
5576 }
5577 }
5578 #[inline]
5579 pub fn expected_type(&self) -> Option<&'a str> {
5580 unsafe {
5584 self._tab
5585 .get::<::flatbuffers::ForwardsUOffset<&str>>(ParamExpr::VT_EXPECTED_TYPE, None)
5586 }
5587 }
5588 }
5589
5590 impl ::flatbuffers::Verifiable for ParamExpr<'_> {
5591 #[inline]
5592 fn run_verifier(
5593 v: &mut ::flatbuffers::Verifier,
5594 pos: usize,
5595 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
5596 v.visit_table(pos)?
5597 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>("name", Self::VT_NAME, false)?
5598 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
5599 "expected_type",
5600 Self::VT_EXPECTED_TYPE,
5601 false,
5602 )?
5603 .finish();
5604 Ok(())
5605 }
5606 }
5607 pub struct ParamExprArgs<'a> {
5608 pub name: Option<::flatbuffers::WIPOffset<&'a str>>,
5609 pub expected_type: Option<::flatbuffers::WIPOffset<&'a str>>,
5610 }
5611 impl<'a> Default for ParamExprArgs<'a> {
5612 #[inline]
5613 fn default() -> Self {
5614 ParamExprArgs {
5615 name: None,
5616 expected_type: None,
5617 }
5618 }
5619 }
5620
5621 pub struct ParamExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
5622 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
5623 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
5624 }
5625 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ParamExprBuilder<'a, 'b, A> {
5626 #[inline]
5627 pub fn add_name(&mut self, name: ::flatbuffers::WIPOffset<&'b str>) {
5628 self.fbb_
5629 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ParamExpr::VT_NAME, name);
5630 }
5631 #[inline]
5632 pub fn add_expected_type(&mut self, expected_type: ::flatbuffers::WIPOffset<&'b str>) {
5633 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
5634 ParamExpr::VT_EXPECTED_TYPE,
5635 expected_type,
5636 );
5637 }
5638 #[inline]
5639 pub fn new(
5640 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
5641 ) -> ParamExprBuilder<'a, 'b, A> {
5642 let start = _fbb.start_table();
5643 ParamExprBuilder {
5644 fbb_: _fbb,
5645 start_: start,
5646 }
5647 }
5648 #[inline]
5649 pub fn finish(self) -> ::flatbuffers::WIPOffset<ParamExpr<'a>> {
5650 let o = self.fbb_.end_table(self.start_);
5651 ::flatbuffers::WIPOffset::new(o.value())
5652 }
5653 }
5654
5655 impl ::core::fmt::Debug for ParamExpr<'_> {
5656 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5657 let mut ds = f.debug_struct("ParamExpr");
5658 ds.field("name", &self.name());
5659 ds.field("expected_type", &self.expected_type());
5660 ds.finish()
5661 }
5662 }
5663 pub enum CaseArmOffset {}
5664 #[derive(Copy, Clone, PartialEq)]
5665
5666 pub struct CaseArm<'a> {
5667 pub _tab: ::flatbuffers::Table<'a>,
5668 }
5669
5670 impl<'a> ::flatbuffers::Follow<'a> for CaseArm<'a> {
5671 type Inner = CaseArm<'a>;
5672 #[inline]
5673 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5674 Self {
5675 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
5676 }
5677 }
5678 }
5679
5680 impl<'a> CaseArm<'a> {
5681 pub const VT_WHEN_EXPR: ::flatbuffers::VOffsetT = 4;
5682 pub const VT_THEN_EXPR: ::flatbuffers::VOffsetT = 6;
5683
5684 #[inline]
5685 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
5686 CaseArm { _tab: table }
5687 }
5688 #[allow(unused_mut)]
5689 pub fn create<
5690 'bldr: 'args,
5691 'args: 'mut_bldr,
5692 'mut_bldr,
5693 A: ::flatbuffers::Allocator + 'bldr,
5694 >(
5695 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
5696 args: &'args CaseArmArgs<'args>,
5697 ) -> ::flatbuffers::WIPOffset<CaseArm<'bldr>> {
5698 let mut builder = CaseArmBuilder::new(_fbb);
5699 if let Some(x) = args.then_expr {
5700 builder.add_then_expr(x);
5701 }
5702 if let Some(x) = args.when_expr {
5703 builder.add_when_expr(x);
5704 }
5705 builder.finish()
5706 }
5707
5708 #[inline]
5709 pub fn when_expr(&self) -> Option<Expr<'a>> {
5710 unsafe {
5714 self._tab
5715 .get::<::flatbuffers::ForwardsUOffset<Expr>>(CaseArm::VT_WHEN_EXPR, None)
5716 }
5717 }
5718 #[inline]
5719 pub fn then_expr(&self) -> Option<Expr<'a>> {
5720 unsafe {
5724 self._tab
5725 .get::<::flatbuffers::ForwardsUOffset<Expr>>(CaseArm::VT_THEN_EXPR, None)
5726 }
5727 }
5728 }
5729
5730 impl ::flatbuffers::Verifiable for CaseArm<'_> {
5731 #[inline]
5732 fn run_verifier(
5733 v: &mut ::flatbuffers::Verifier,
5734 pos: usize,
5735 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
5736 v.visit_table(pos)?
5737 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>(
5738 "when_expr",
5739 Self::VT_WHEN_EXPR,
5740 false,
5741 )?
5742 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>(
5743 "then_expr",
5744 Self::VT_THEN_EXPR,
5745 false,
5746 )?
5747 .finish();
5748 Ok(())
5749 }
5750 }
5751 pub struct CaseArmArgs<'a> {
5752 pub when_expr: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
5753 pub then_expr: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
5754 }
5755 impl<'a> Default for CaseArmArgs<'a> {
5756 #[inline]
5757 fn default() -> Self {
5758 CaseArmArgs {
5759 when_expr: None,
5760 then_expr: None,
5761 }
5762 }
5763 }
5764
5765 pub struct CaseArmBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
5766 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
5767 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
5768 }
5769 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> CaseArmBuilder<'a, 'b, A> {
5770 #[inline]
5771 pub fn add_when_expr(&mut self, when_expr: ::flatbuffers::WIPOffset<Expr<'b>>) {
5772 self.fbb_
5773 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(
5774 CaseArm::VT_WHEN_EXPR,
5775 when_expr,
5776 );
5777 }
5778 #[inline]
5779 pub fn add_then_expr(&mut self, then_expr: ::flatbuffers::WIPOffset<Expr<'b>>) {
5780 self.fbb_
5781 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(
5782 CaseArm::VT_THEN_EXPR,
5783 then_expr,
5784 );
5785 }
5786 #[inline]
5787 pub fn new(
5788 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
5789 ) -> CaseArmBuilder<'a, 'b, A> {
5790 let start = _fbb.start_table();
5791 CaseArmBuilder {
5792 fbb_: _fbb,
5793 start_: start,
5794 }
5795 }
5796 #[inline]
5797 pub fn finish(self) -> ::flatbuffers::WIPOffset<CaseArm<'a>> {
5798 let o = self.fbb_.end_table(self.start_);
5799 ::flatbuffers::WIPOffset::new(o.value())
5800 }
5801 }
5802
5803 impl ::core::fmt::Debug for CaseArm<'_> {
5804 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5805 let mut ds = f.debug_struct("CaseArm");
5806 ds.field("when_expr", &self.when_expr());
5807 ds.field("then_expr", &self.then_expr());
5808 ds.finish()
5809 }
5810 }
5811 pub enum CaseExprOffset {}
5812 #[derive(Copy, Clone, PartialEq)]
5813
5814 pub struct CaseExpr<'a> {
5815 pub _tab: ::flatbuffers::Table<'a>,
5816 }
5817
5818 impl<'a> ::flatbuffers::Follow<'a> for CaseExpr<'a> {
5819 type Inner = CaseExpr<'a>;
5820 #[inline]
5821 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5822 Self {
5823 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
5824 }
5825 }
5826 }
5827
5828 impl<'a> CaseExpr<'a> {
5829 pub const VT_ARMS: ::flatbuffers::VOffsetT = 4;
5830 pub const VT_ELSE_EXPR: ::flatbuffers::VOffsetT = 6;
5831
5832 #[inline]
5833 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
5834 CaseExpr { _tab: table }
5835 }
5836 #[allow(unused_mut)]
5837 pub fn create<
5838 'bldr: 'args,
5839 'args: 'mut_bldr,
5840 'mut_bldr,
5841 A: ::flatbuffers::Allocator + 'bldr,
5842 >(
5843 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
5844 args: &'args CaseExprArgs<'args>,
5845 ) -> ::flatbuffers::WIPOffset<CaseExpr<'bldr>> {
5846 let mut builder = CaseExprBuilder::new(_fbb);
5847 if let Some(x) = args.else_expr {
5848 builder.add_else_expr(x);
5849 }
5850 if let Some(x) = args.arms {
5851 builder.add_arms(x);
5852 }
5853 builder.finish()
5854 }
5855
5856 #[inline]
5857 pub fn arms(
5858 &self,
5859 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<CaseArm<'a>>>>
5860 {
5861 unsafe {
5865 self._tab.get::<::flatbuffers::ForwardsUOffset<
5866 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<CaseArm>>,
5867 >>(CaseExpr::VT_ARMS, None)
5868 }
5869 }
5870 #[inline]
5871 pub fn else_expr(&self) -> Option<Expr<'a>> {
5872 unsafe {
5876 self._tab
5877 .get::<::flatbuffers::ForwardsUOffset<Expr>>(CaseExpr::VT_ELSE_EXPR, None)
5878 }
5879 }
5880 }
5881
5882 impl ::flatbuffers::Verifiable for CaseExpr<'_> {
5883 #[inline]
5884 fn run_verifier(
5885 v: &mut ::flatbuffers::Verifier,
5886 pos: usize,
5887 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
5888 v.visit_table(pos)?
5889 .visit_field::<::flatbuffers::ForwardsUOffset<
5890 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<CaseArm>>,
5891 >>("arms", Self::VT_ARMS, false)?
5892 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>(
5893 "else_expr",
5894 Self::VT_ELSE_EXPR,
5895 false,
5896 )?
5897 .finish();
5898 Ok(())
5899 }
5900 }
5901 pub struct CaseExprArgs<'a> {
5902 pub arms: Option<
5903 ::flatbuffers::WIPOffset<
5904 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<CaseArm<'a>>>,
5905 >,
5906 >,
5907 pub else_expr: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
5908 }
5909 impl<'a> Default for CaseExprArgs<'a> {
5910 #[inline]
5911 fn default() -> Self {
5912 CaseExprArgs {
5913 arms: None,
5914 else_expr: None,
5915 }
5916 }
5917 }
5918
5919 pub struct CaseExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
5920 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
5921 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
5922 }
5923 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> CaseExprBuilder<'a, 'b, A> {
5924 #[inline]
5925 pub fn add_arms(
5926 &mut self,
5927 arms: ::flatbuffers::WIPOffset<
5928 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<CaseArm<'b>>>,
5929 >,
5930 ) {
5931 self.fbb_
5932 .push_slot_always::<::flatbuffers::WIPOffset<_>>(CaseExpr::VT_ARMS, arms);
5933 }
5934 #[inline]
5935 pub fn add_else_expr(&mut self, else_expr: ::flatbuffers::WIPOffset<Expr<'b>>) {
5936 self.fbb_
5937 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(
5938 CaseExpr::VT_ELSE_EXPR,
5939 else_expr,
5940 );
5941 }
5942 #[inline]
5943 pub fn new(
5944 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
5945 ) -> CaseExprBuilder<'a, 'b, A> {
5946 let start = _fbb.start_table();
5947 CaseExprBuilder {
5948 fbb_: _fbb,
5949 start_: start,
5950 }
5951 }
5952 #[inline]
5953 pub fn finish(self) -> ::flatbuffers::WIPOffset<CaseExpr<'a>> {
5954 let o = self.fbb_.end_table(self.start_);
5955 ::flatbuffers::WIPOffset::new(o.value())
5956 }
5957 }
5958
5959 impl ::core::fmt::Debug for CaseExpr<'_> {
5960 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5961 let mut ds = f.debug_struct("CaseExpr");
5962 ds.field("arms", &self.arms());
5963 ds.field("else_expr", &self.else_expr());
5964 ds.finish()
5965 }
5966 }
5967 pub enum VectorSimilarityExprOffset {}
5968 #[derive(Copy, Clone, PartialEq)]
5969
5970 pub struct VectorSimilarityExpr<'a> {
5971 pub _tab: ::flatbuffers::Table<'a>,
5972 }
5973
5974 impl<'a> ::flatbuffers::Follow<'a> for VectorSimilarityExpr<'a> {
5975 type Inner = VectorSimilarityExpr<'a>;
5976 #[inline]
5977 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5978 Self {
5979 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
5980 }
5981 }
5982 }
5983
5984 impl<'a> VectorSimilarityExpr<'a> {
5985 pub const VT_METRIC: ::flatbuffers::VOffsetT = 4;
5986 pub const VT_LHS: ::flatbuffers::VOffsetT = 6;
5987 pub const VT_RHS: ::flatbuffers::VOffsetT = 8;
5988
5989 #[inline]
5990 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
5991 VectorSimilarityExpr { _tab: table }
5992 }
5993 #[allow(unused_mut)]
5994 pub fn create<
5995 'bldr: 'args,
5996 'args: 'mut_bldr,
5997 'mut_bldr,
5998 A: ::flatbuffers::Allocator + 'bldr,
5999 >(
6000 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
6001 args: &'args VectorSimilarityExprArgs<'args>,
6002 ) -> ::flatbuffers::WIPOffset<VectorSimilarityExpr<'bldr>> {
6003 let mut builder = VectorSimilarityExprBuilder::new(_fbb);
6004 if let Some(x) = args.rhs {
6005 builder.add_rhs(x);
6006 }
6007 if let Some(x) = args.lhs {
6008 builder.add_lhs(x);
6009 }
6010 builder.add_metric(args.metric);
6011 builder.finish()
6012 }
6013
6014 #[inline]
6015 pub fn metric(&self) -> VectorMetric {
6016 unsafe {
6020 self._tab
6021 .get::<VectorMetric>(
6022 VectorSimilarityExpr::VT_METRIC,
6023 Some(VectorMetric::cosine),
6024 )
6025 .unwrap()
6026 }
6027 }
6028 #[inline]
6029 pub fn lhs(&self) -> Option<Expr<'a>> {
6030 unsafe {
6034 self._tab
6035 .get::<::flatbuffers::ForwardsUOffset<Expr>>(VectorSimilarityExpr::VT_LHS, None)
6036 }
6037 }
6038 #[inline]
6039 pub fn rhs(&self) -> Option<Expr<'a>> {
6040 unsafe {
6044 self._tab
6045 .get::<::flatbuffers::ForwardsUOffset<Expr>>(VectorSimilarityExpr::VT_RHS, None)
6046 }
6047 }
6048 }
6049
6050 impl ::flatbuffers::Verifiable for VectorSimilarityExpr<'_> {
6051 #[inline]
6052 fn run_verifier(
6053 v: &mut ::flatbuffers::Verifier,
6054 pos: usize,
6055 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
6056 v.visit_table(pos)?
6057 .visit_field::<VectorMetric>("metric", Self::VT_METRIC, false)?
6058 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("lhs", Self::VT_LHS, false)?
6059 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>("rhs", Self::VT_RHS, false)?
6060 .finish();
6061 Ok(())
6062 }
6063 }
6064 pub struct VectorSimilarityExprArgs<'a> {
6065 pub metric: VectorMetric,
6066 pub lhs: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
6067 pub rhs: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
6068 }
6069 impl<'a> Default for VectorSimilarityExprArgs<'a> {
6070 #[inline]
6071 fn default() -> Self {
6072 VectorSimilarityExprArgs {
6073 metric: VectorMetric::cosine,
6074 lhs: None,
6075 rhs: None,
6076 }
6077 }
6078 }
6079
6080 pub struct VectorSimilarityExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
6081 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
6082 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
6083 }
6084 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> VectorSimilarityExprBuilder<'a, 'b, A> {
6085 #[inline]
6086 pub fn add_metric(&mut self, metric: VectorMetric) {
6087 self.fbb_.push_slot::<VectorMetric>(
6088 VectorSimilarityExpr::VT_METRIC,
6089 metric,
6090 VectorMetric::cosine,
6091 );
6092 }
6093 #[inline]
6094 pub fn add_lhs(&mut self, lhs: ::flatbuffers::WIPOffset<Expr<'b>>) {
6095 self.fbb_
6096 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(
6097 VectorSimilarityExpr::VT_LHS,
6098 lhs,
6099 );
6100 }
6101 #[inline]
6102 pub fn add_rhs(&mut self, rhs: ::flatbuffers::WIPOffset<Expr<'b>>) {
6103 self.fbb_
6104 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(
6105 VectorSimilarityExpr::VT_RHS,
6106 rhs,
6107 );
6108 }
6109 #[inline]
6110 pub fn new(
6111 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
6112 ) -> VectorSimilarityExprBuilder<'a, 'b, A> {
6113 let start = _fbb.start_table();
6114 VectorSimilarityExprBuilder {
6115 fbb_: _fbb,
6116 start_: start,
6117 }
6118 }
6119 #[inline]
6120 pub fn finish(self) -> ::flatbuffers::WIPOffset<VectorSimilarityExpr<'a>> {
6121 let o = self.fbb_.end_table(self.start_);
6122 ::flatbuffers::WIPOffset::new(o.value())
6123 }
6124 }
6125
6126 impl ::core::fmt::Debug for VectorSimilarityExpr<'_> {
6127 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6128 let mut ds = f.debug_struct("VectorSimilarityExpr");
6129 ds.field("metric", &self.metric());
6130 ds.field("lhs", &self.lhs());
6131 ds.field("rhs", &self.rhs());
6132 ds.finish()
6133 }
6134 }
6135 pub enum ExprOffset {}
6136 #[derive(Copy, Clone, PartialEq)]
6137
6138 pub struct Expr<'a> {
6139 pub _tab: ::flatbuffers::Table<'a>,
6140 }
6141
6142 impl<'a> ::flatbuffers::Follow<'a> for Expr<'a> {
6143 type Inner = Expr<'a>;
6144 #[inline]
6145 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
6146 Self {
6147 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
6148 }
6149 }
6150 }
6151
6152 impl<'a> Expr<'a> {
6153 pub const VT_NODE_TYPE: ::flatbuffers::VOffsetT = 4;
6154 pub const VT_NODE: ::flatbuffers::VOffsetT = 6;
6155
6156 #[inline]
6157 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
6158 Expr { _tab: table }
6159 }
6160 #[allow(unused_mut)]
6161 pub fn create<
6162 'bldr: 'args,
6163 'args: 'mut_bldr,
6164 'mut_bldr,
6165 A: ::flatbuffers::Allocator + 'bldr,
6166 >(
6167 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
6168 args: &'args ExprArgs,
6169 ) -> ::flatbuffers::WIPOffset<Expr<'bldr>> {
6170 let mut builder = ExprBuilder::new(_fbb);
6171 if let Some(x) = args.node {
6172 builder.add_node(x);
6173 }
6174 builder.add_node_type(args.node_type);
6175 builder.finish()
6176 }
6177
6178 #[inline]
6179 pub fn node_type(&self) -> ExprNode {
6180 unsafe {
6184 self._tab
6185 .get::<ExprNode>(Expr::VT_NODE_TYPE, Some(ExprNode::NONE))
6186 .unwrap()
6187 }
6188 }
6189 #[inline]
6190 pub fn node(&self) -> Option<::flatbuffers::Table<'a>> {
6191 unsafe {
6195 self._tab
6196 .get::<::flatbuffers::ForwardsUOffset<::flatbuffers::Table<'a>>>(
6197 Expr::VT_NODE,
6198 None,
6199 )
6200 }
6201 }
6202 #[inline]
6203 #[allow(non_snake_case)]
6204 pub fn node_as_col_ref_expr(&self) -> Option<ColRefExpr<'a>> {
6205 if self.node_type() == ExprNode::ColRefExpr {
6206 self.node().map(|t| {
6207 unsafe { ColRefExpr::init_from_table(t) }
6211 })
6212 } else {
6213 None
6214 }
6215 }
6216
6217 #[inline]
6218 #[allow(non_snake_case)]
6219 pub fn node_as_prop_access_expr(&self) -> Option<PropAccessExpr<'a>> {
6220 if self.node_type() == ExprNode::PropAccessExpr {
6221 self.node().map(|t| {
6222 unsafe { PropAccessExpr::init_from_table(t) }
6226 })
6227 } else {
6228 None
6229 }
6230 }
6231
6232 #[inline]
6233 #[allow(non_snake_case)]
6234 pub fn node_as_int_literal_expr(&self) -> Option<IntLiteralExpr<'a>> {
6235 if self.node_type() == ExprNode::IntLiteralExpr {
6236 self.node().map(|t| {
6237 unsafe { IntLiteralExpr::init_from_table(t) }
6241 })
6242 } else {
6243 None
6244 }
6245 }
6246
6247 #[inline]
6248 #[allow(non_snake_case)]
6249 pub fn node_as_float_literal_expr(&self) -> Option<FloatLiteralExpr<'a>> {
6250 if self.node_type() == ExprNode::FloatLiteralExpr {
6251 self.node().map(|t| {
6252 unsafe { FloatLiteralExpr::init_from_table(t) }
6256 })
6257 } else {
6258 None
6259 }
6260 }
6261
6262 #[inline]
6263 #[allow(non_snake_case)]
6264 pub fn node_as_bool_literal_expr(&self) -> Option<BoolLiteralExpr<'a>> {
6265 if self.node_type() == ExprNode::BoolLiteralExpr {
6266 self.node().map(|t| {
6267 unsafe { BoolLiteralExpr::init_from_table(t) }
6271 })
6272 } else {
6273 None
6274 }
6275 }
6276
6277 #[inline]
6278 #[allow(non_snake_case)]
6279 pub fn node_as_string_literal_expr(&self) -> Option<StringLiteralExpr<'a>> {
6280 if self.node_type() == ExprNode::StringLiteralExpr {
6281 self.node().map(|t| {
6282 unsafe { StringLiteralExpr::init_from_table(t) }
6286 })
6287 } else {
6288 None
6289 }
6290 }
6291
6292 #[inline]
6293 #[allow(non_snake_case)]
6294 pub fn node_as_null_literal_expr(&self) -> Option<NullLiteralExpr<'a>> {
6295 if self.node_type() == ExprNode::NullLiteralExpr {
6296 self.node().map(|t| {
6297 unsafe { NullLiteralExpr::init_from_table(t) }
6301 })
6302 } else {
6303 None
6304 }
6305 }
6306
6307 #[inline]
6308 #[allow(non_snake_case)]
6309 pub fn node_as_cmp_expr(&self) -> Option<CmpExpr<'a>> {
6310 if self.node_type() == ExprNode::CmpExpr {
6311 self.node().map(|t| {
6312 unsafe { CmpExpr::init_from_table(t) }
6316 })
6317 } else {
6318 None
6319 }
6320 }
6321
6322 #[inline]
6323 #[allow(non_snake_case)]
6324 pub fn node_as_and_expr(&self) -> Option<AndExpr<'a>> {
6325 if self.node_type() == ExprNode::AndExpr {
6326 self.node().map(|t| {
6327 unsafe { AndExpr::init_from_table(t) }
6331 })
6332 } else {
6333 None
6334 }
6335 }
6336
6337 #[inline]
6338 #[allow(non_snake_case)]
6339 pub fn node_as_or_expr(&self) -> Option<OrExpr<'a>> {
6340 if self.node_type() == ExprNode::OrExpr {
6341 self.node().map(|t| {
6342 unsafe { OrExpr::init_from_table(t) }
6346 })
6347 } else {
6348 None
6349 }
6350 }
6351
6352 #[inline]
6353 #[allow(non_snake_case)]
6354 pub fn node_as_not_expr(&self) -> Option<NotExpr<'a>> {
6355 if self.node_type() == ExprNode::NotExpr {
6356 self.node().map(|t| {
6357 unsafe { NotExpr::init_from_table(t) }
6361 })
6362 } else {
6363 None
6364 }
6365 }
6366
6367 #[inline]
6368 #[allow(non_snake_case)]
6369 pub fn node_as_is_null_expr(&self) -> Option<IsNullExpr<'a>> {
6370 if self.node_type() == ExprNode::IsNullExpr {
6371 self.node().map(|t| {
6372 unsafe { IsNullExpr::init_from_table(t) }
6376 })
6377 } else {
6378 None
6379 }
6380 }
6381
6382 #[inline]
6383 #[allow(non_snake_case)]
6384 pub fn node_as_is_not_null_expr(&self) -> Option<IsNotNullExpr<'a>> {
6385 if self.node_type() == ExprNode::IsNotNullExpr {
6386 self.node().map(|t| {
6387 unsafe { IsNotNullExpr::init_from_table(t) }
6391 })
6392 } else {
6393 None
6394 }
6395 }
6396
6397 #[inline]
6398 #[allow(non_snake_case)]
6399 pub fn node_as_starts_with_expr(&self) -> Option<StartsWithExpr<'a>> {
6400 if self.node_type() == ExprNode::StartsWithExpr {
6401 self.node().map(|t| {
6402 unsafe { StartsWithExpr::init_from_table(t) }
6406 })
6407 } else {
6408 None
6409 }
6410 }
6411
6412 #[inline]
6413 #[allow(non_snake_case)]
6414 pub fn node_as_ends_with_expr(&self) -> Option<EndsWithExpr<'a>> {
6415 if self.node_type() == ExprNode::EndsWithExpr {
6416 self.node().map(|t| {
6417 unsafe { EndsWithExpr::init_from_table(t) }
6421 })
6422 } else {
6423 None
6424 }
6425 }
6426
6427 #[inline]
6428 #[allow(non_snake_case)]
6429 pub fn node_as_contains_expr(&self) -> Option<ContainsExpr<'a>> {
6430 if self.node_type() == ExprNode::ContainsExpr {
6431 self.node().map(|t| {
6432 unsafe { ContainsExpr::init_from_table(t) }
6436 })
6437 } else {
6438 None
6439 }
6440 }
6441
6442 #[inline]
6443 #[allow(non_snake_case)]
6444 pub fn node_as_in_expr(&self) -> Option<InExpr<'a>> {
6445 if self.node_type() == ExprNode::InExpr {
6446 self.node().map(|t| {
6447 unsafe { InExpr::init_from_table(t) }
6451 })
6452 } else {
6453 None
6454 }
6455 }
6456
6457 #[inline]
6458 #[allow(non_snake_case)]
6459 pub fn node_as_list_literal_expr(&self) -> Option<ListLiteralExpr<'a>> {
6460 if self.node_type() == ExprNode::ListLiteralExpr {
6461 self.node().map(|t| {
6462 unsafe { ListLiteralExpr::init_from_table(t) }
6466 })
6467 } else {
6468 None
6469 }
6470 }
6471
6472 #[inline]
6473 #[allow(non_snake_case)]
6474 pub fn node_as_map_literal_expr(&self) -> Option<MapLiteralExpr<'a>> {
6475 if self.node_type() == ExprNode::MapLiteralExpr {
6476 self.node().map(|t| {
6477 unsafe { MapLiteralExpr::init_from_table(t) }
6481 })
6482 } else {
6483 None
6484 }
6485 }
6486
6487 #[inline]
6488 #[allow(non_snake_case)]
6489 pub fn node_as_exists_expr(&self) -> Option<ExistsExpr<'a>> {
6490 if self.node_type() == ExprNode::ExistsExpr {
6491 self.node().map(|t| {
6492 unsafe { ExistsExpr::init_from_table(t) }
6496 })
6497 } else {
6498 None
6499 }
6500 }
6501
6502 #[inline]
6503 #[allow(non_snake_case)]
6504 pub fn node_as_list_comprehension_expr(&self) -> Option<ListComprehensionExpr<'a>> {
6505 if self.node_type() == ExprNode::ListComprehensionExpr {
6506 self.node().map(|t| {
6507 unsafe { ListComprehensionExpr::init_from_table(t) }
6511 })
6512 } else {
6513 None
6514 }
6515 }
6516
6517 #[inline]
6518 #[allow(non_snake_case)]
6519 pub fn node_as_agg_expr(&self) -> Option<AggExpr<'a>> {
6520 if self.node_type() == ExprNode::AggExpr {
6521 self.node().map(|t| {
6522 unsafe { AggExpr::init_from_table(t) }
6526 })
6527 } else {
6528 None
6529 }
6530 }
6531
6532 #[inline]
6533 #[allow(non_snake_case)]
6534 pub fn node_as_arith_expr(&self) -> Option<ArithExpr<'a>> {
6535 if self.node_type() == ExprNode::ArithExpr {
6536 self.node().map(|t| {
6537 unsafe { ArithExpr::init_from_table(t) }
6541 })
6542 } else {
6543 None
6544 }
6545 }
6546
6547 #[inline]
6548 #[allow(non_snake_case)]
6549 pub fn node_as_param_expr(&self) -> Option<ParamExpr<'a>> {
6550 if self.node_type() == ExprNode::ParamExpr {
6551 self.node().map(|t| {
6552 unsafe { ParamExpr::init_from_table(t) }
6556 })
6557 } else {
6558 None
6559 }
6560 }
6561
6562 #[inline]
6563 #[allow(non_snake_case)]
6564 pub fn node_as_case_expr(&self) -> Option<CaseExpr<'a>> {
6565 if self.node_type() == ExprNode::CaseExpr {
6566 self.node().map(|t| {
6567 unsafe { CaseExpr::init_from_table(t) }
6571 })
6572 } else {
6573 None
6574 }
6575 }
6576
6577 #[inline]
6578 #[allow(non_snake_case)]
6579 pub fn node_as_vector_similarity_expr(&self) -> Option<VectorSimilarityExpr<'a>> {
6580 if self.node_type() == ExprNode::VectorSimilarityExpr {
6581 self.node().map(|t| {
6582 unsafe { VectorSimilarityExpr::init_from_table(t) }
6586 })
6587 } else {
6588 None
6589 }
6590 }
6591 }
6592
6593 impl ::flatbuffers::Verifiable for Expr<'_> {
6594 #[inline]
6595 fn run_verifier(
6596 v: &mut ::flatbuffers::Verifier,
6597 pos: usize,
6598 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
6599 v.visit_table(pos)?
6600 .visit_union::<ExprNode, _>("node_type", Self::VT_NODE_TYPE, "node", Self::VT_NODE, false, |key, v, pos| {
6601 match key {
6602 ExprNode::ColRefExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ColRefExpr>>("ExprNode::ColRefExpr", pos),
6603 ExprNode::PropAccessExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<PropAccessExpr>>("ExprNode::PropAccessExpr", pos),
6604 ExprNode::IntLiteralExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<IntLiteralExpr>>("ExprNode::IntLiteralExpr", pos),
6605 ExprNode::FloatLiteralExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<FloatLiteralExpr>>("ExprNode::FloatLiteralExpr", pos),
6606 ExprNode::BoolLiteralExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<BoolLiteralExpr>>("ExprNode::BoolLiteralExpr", pos),
6607 ExprNode::StringLiteralExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<StringLiteralExpr>>("ExprNode::StringLiteralExpr", pos),
6608 ExprNode::NullLiteralExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<NullLiteralExpr>>("ExprNode::NullLiteralExpr", pos),
6609 ExprNode::CmpExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<CmpExpr>>("ExprNode::CmpExpr", pos),
6610 ExprNode::AndExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<AndExpr>>("ExprNode::AndExpr", pos),
6611 ExprNode::OrExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<OrExpr>>("ExprNode::OrExpr", pos),
6612 ExprNode::NotExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<NotExpr>>("ExprNode::NotExpr", pos),
6613 ExprNode::IsNullExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<IsNullExpr>>("ExprNode::IsNullExpr", pos),
6614 ExprNode::IsNotNullExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<IsNotNullExpr>>("ExprNode::IsNotNullExpr", pos),
6615 ExprNode::StartsWithExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<StartsWithExpr>>("ExprNode::StartsWithExpr", pos),
6616 ExprNode::EndsWithExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<EndsWithExpr>>("ExprNode::EndsWithExpr", pos),
6617 ExprNode::ContainsExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ContainsExpr>>("ExprNode::ContainsExpr", pos),
6618 ExprNode::InExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<InExpr>>("ExprNode::InExpr", pos),
6619 ExprNode::ListLiteralExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ListLiteralExpr>>("ExprNode::ListLiteralExpr", pos),
6620 ExprNode::MapLiteralExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<MapLiteralExpr>>("ExprNode::MapLiteralExpr", pos),
6621 ExprNode::ExistsExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ExistsExpr>>("ExprNode::ExistsExpr", pos),
6622 ExprNode::ListComprehensionExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ListComprehensionExpr>>("ExprNode::ListComprehensionExpr", pos),
6623 ExprNode::AggExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<AggExpr>>("ExprNode::AggExpr", pos),
6624 ExprNode::ArithExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ArithExpr>>("ExprNode::ArithExpr", pos),
6625 ExprNode::ParamExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ParamExpr>>("ExprNode::ParamExpr", pos),
6626 ExprNode::CaseExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<CaseExpr>>("ExprNode::CaseExpr", pos),
6627 ExprNode::VectorSimilarityExpr => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<VectorSimilarityExpr>>("ExprNode::VectorSimilarityExpr", pos),
6628 _ => Ok(()),
6629 }
6630 })?
6631 .finish();
6632 Ok(())
6633 }
6634 }
6635 pub struct ExprArgs {
6636 pub node_type: ExprNode,
6637 pub node: Option<::flatbuffers::WIPOffset<::flatbuffers::UnionWIPOffset>>,
6638 }
6639 impl<'a> Default for ExprArgs {
6640 #[inline]
6641 fn default() -> Self {
6642 ExprArgs {
6643 node_type: ExprNode::NONE,
6644 node: None,
6645 }
6646 }
6647 }
6648
6649 pub struct ExprBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
6650 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
6651 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
6652 }
6653 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ExprBuilder<'a, 'b, A> {
6654 #[inline]
6655 pub fn add_node_type(&mut self, node_type: ExprNode) {
6656 self.fbb_
6657 .push_slot::<ExprNode>(Expr::VT_NODE_TYPE, node_type, ExprNode::NONE);
6658 }
6659 #[inline]
6660 pub fn add_node(&mut self, node: ::flatbuffers::WIPOffset<::flatbuffers::UnionWIPOffset>) {
6661 self.fbb_
6662 .push_slot_always::<::flatbuffers::WIPOffset<_>>(Expr::VT_NODE, node);
6663 }
6664 #[inline]
6665 pub fn new(
6666 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
6667 ) -> ExprBuilder<'a, 'b, A> {
6668 let start = _fbb.start_table();
6669 ExprBuilder {
6670 fbb_: _fbb,
6671 start_: start,
6672 }
6673 }
6674 #[inline]
6675 pub fn finish(self) -> ::flatbuffers::WIPOffset<Expr<'a>> {
6676 let o = self.fbb_.end_table(self.start_);
6677 ::flatbuffers::WIPOffset::new(o.value())
6678 }
6679 }
6680
6681 impl ::core::fmt::Debug for Expr<'_> {
6682 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6683 let mut ds = f.debug_struct("Expr");
6684 ds.field("node_type", &self.node_type());
6685 match self.node_type() {
6686 ExprNode::ColRefExpr => {
6687 if let Some(x) = self.node_as_col_ref_expr() {
6688 ds.field("node", &x)
6689 } else {
6690 ds.field(
6691 "node",
6692 &"InvalidFlatbuffer: Union discriminant does not match value.",
6693 )
6694 }
6695 }
6696 ExprNode::PropAccessExpr => {
6697 if let Some(x) = self.node_as_prop_access_expr() {
6698 ds.field("node", &x)
6699 } else {
6700 ds.field(
6701 "node",
6702 &"InvalidFlatbuffer: Union discriminant does not match value.",
6703 )
6704 }
6705 }
6706 ExprNode::IntLiteralExpr => {
6707 if let Some(x) = self.node_as_int_literal_expr() {
6708 ds.field("node", &x)
6709 } else {
6710 ds.field(
6711 "node",
6712 &"InvalidFlatbuffer: Union discriminant does not match value.",
6713 )
6714 }
6715 }
6716 ExprNode::FloatLiteralExpr => {
6717 if let Some(x) = self.node_as_float_literal_expr() {
6718 ds.field("node", &x)
6719 } else {
6720 ds.field(
6721 "node",
6722 &"InvalidFlatbuffer: Union discriminant does not match value.",
6723 )
6724 }
6725 }
6726 ExprNode::BoolLiteralExpr => {
6727 if let Some(x) = self.node_as_bool_literal_expr() {
6728 ds.field("node", &x)
6729 } else {
6730 ds.field(
6731 "node",
6732 &"InvalidFlatbuffer: Union discriminant does not match value.",
6733 )
6734 }
6735 }
6736 ExprNode::StringLiteralExpr => {
6737 if let Some(x) = self.node_as_string_literal_expr() {
6738 ds.field("node", &x)
6739 } else {
6740 ds.field(
6741 "node",
6742 &"InvalidFlatbuffer: Union discriminant does not match value.",
6743 )
6744 }
6745 }
6746 ExprNode::NullLiteralExpr => {
6747 if let Some(x) = self.node_as_null_literal_expr() {
6748 ds.field("node", &x)
6749 } else {
6750 ds.field(
6751 "node",
6752 &"InvalidFlatbuffer: Union discriminant does not match value.",
6753 )
6754 }
6755 }
6756 ExprNode::CmpExpr => {
6757 if let Some(x) = self.node_as_cmp_expr() {
6758 ds.field("node", &x)
6759 } else {
6760 ds.field(
6761 "node",
6762 &"InvalidFlatbuffer: Union discriminant does not match value.",
6763 )
6764 }
6765 }
6766 ExprNode::AndExpr => {
6767 if let Some(x) = self.node_as_and_expr() {
6768 ds.field("node", &x)
6769 } else {
6770 ds.field(
6771 "node",
6772 &"InvalidFlatbuffer: Union discriminant does not match value.",
6773 )
6774 }
6775 }
6776 ExprNode::OrExpr => {
6777 if let Some(x) = self.node_as_or_expr() {
6778 ds.field("node", &x)
6779 } else {
6780 ds.field(
6781 "node",
6782 &"InvalidFlatbuffer: Union discriminant does not match value.",
6783 )
6784 }
6785 }
6786 ExprNode::NotExpr => {
6787 if let Some(x) = self.node_as_not_expr() {
6788 ds.field("node", &x)
6789 } else {
6790 ds.field(
6791 "node",
6792 &"InvalidFlatbuffer: Union discriminant does not match value.",
6793 )
6794 }
6795 }
6796 ExprNode::IsNullExpr => {
6797 if let Some(x) = self.node_as_is_null_expr() {
6798 ds.field("node", &x)
6799 } else {
6800 ds.field(
6801 "node",
6802 &"InvalidFlatbuffer: Union discriminant does not match value.",
6803 )
6804 }
6805 }
6806 ExprNode::IsNotNullExpr => {
6807 if let Some(x) = self.node_as_is_not_null_expr() {
6808 ds.field("node", &x)
6809 } else {
6810 ds.field(
6811 "node",
6812 &"InvalidFlatbuffer: Union discriminant does not match value.",
6813 )
6814 }
6815 }
6816 ExprNode::StartsWithExpr => {
6817 if let Some(x) = self.node_as_starts_with_expr() {
6818 ds.field("node", &x)
6819 } else {
6820 ds.field(
6821 "node",
6822 &"InvalidFlatbuffer: Union discriminant does not match value.",
6823 )
6824 }
6825 }
6826 ExprNode::EndsWithExpr => {
6827 if let Some(x) = self.node_as_ends_with_expr() {
6828 ds.field("node", &x)
6829 } else {
6830 ds.field(
6831 "node",
6832 &"InvalidFlatbuffer: Union discriminant does not match value.",
6833 )
6834 }
6835 }
6836 ExprNode::ContainsExpr => {
6837 if let Some(x) = self.node_as_contains_expr() {
6838 ds.field("node", &x)
6839 } else {
6840 ds.field(
6841 "node",
6842 &"InvalidFlatbuffer: Union discriminant does not match value.",
6843 )
6844 }
6845 }
6846 ExprNode::InExpr => {
6847 if let Some(x) = self.node_as_in_expr() {
6848 ds.field("node", &x)
6849 } else {
6850 ds.field(
6851 "node",
6852 &"InvalidFlatbuffer: Union discriminant does not match value.",
6853 )
6854 }
6855 }
6856 ExprNode::ListLiteralExpr => {
6857 if let Some(x) = self.node_as_list_literal_expr() {
6858 ds.field("node", &x)
6859 } else {
6860 ds.field(
6861 "node",
6862 &"InvalidFlatbuffer: Union discriminant does not match value.",
6863 )
6864 }
6865 }
6866 ExprNode::MapLiteralExpr => {
6867 if let Some(x) = self.node_as_map_literal_expr() {
6868 ds.field("node", &x)
6869 } else {
6870 ds.field(
6871 "node",
6872 &"InvalidFlatbuffer: Union discriminant does not match value.",
6873 )
6874 }
6875 }
6876 ExprNode::ExistsExpr => {
6877 if let Some(x) = self.node_as_exists_expr() {
6878 ds.field("node", &x)
6879 } else {
6880 ds.field(
6881 "node",
6882 &"InvalidFlatbuffer: Union discriminant does not match value.",
6883 )
6884 }
6885 }
6886 ExprNode::ListComprehensionExpr => {
6887 if let Some(x) = self.node_as_list_comprehension_expr() {
6888 ds.field("node", &x)
6889 } else {
6890 ds.field(
6891 "node",
6892 &"InvalidFlatbuffer: Union discriminant does not match value.",
6893 )
6894 }
6895 }
6896 ExprNode::AggExpr => {
6897 if let Some(x) = self.node_as_agg_expr() {
6898 ds.field("node", &x)
6899 } else {
6900 ds.field(
6901 "node",
6902 &"InvalidFlatbuffer: Union discriminant does not match value.",
6903 )
6904 }
6905 }
6906 ExprNode::ArithExpr => {
6907 if let Some(x) = self.node_as_arith_expr() {
6908 ds.field("node", &x)
6909 } else {
6910 ds.field(
6911 "node",
6912 &"InvalidFlatbuffer: Union discriminant does not match value.",
6913 )
6914 }
6915 }
6916 ExprNode::ParamExpr => {
6917 if let Some(x) = self.node_as_param_expr() {
6918 ds.field("node", &x)
6919 } else {
6920 ds.field(
6921 "node",
6922 &"InvalidFlatbuffer: Union discriminant does not match value.",
6923 )
6924 }
6925 }
6926 ExprNode::CaseExpr => {
6927 if let Some(x) = self.node_as_case_expr() {
6928 ds.field("node", &x)
6929 } else {
6930 ds.field(
6931 "node",
6932 &"InvalidFlatbuffer: Union discriminant does not match value.",
6933 )
6934 }
6935 }
6936 ExprNode::VectorSimilarityExpr => {
6937 if let Some(x) = self.node_as_vector_similarity_expr() {
6938 ds.field("node", &x)
6939 } else {
6940 ds.field(
6941 "node",
6942 &"InvalidFlatbuffer: Union discriminant does not match value.",
6943 )
6944 }
6945 }
6946 _ => {
6947 let x: Option<()> = None;
6948 ds.field("node", &x)
6949 }
6950 };
6951 ds.finish()
6952 }
6953 }
6954 pub enum ScanNodesOpOffset {}
6955 #[derive(Copy, Clone, PartialEq)]
6956
6957 pub struct ScanNodesOp<'a> {
6958 pub _tab: ::flatbuffers::Table<'a>,
6959 }
6960
6961 impl<'a> ::flatbuffers::Follow<'a> for ScanNodesOp<'a> {
6962 type Inner = ScanNodesOp<'a>;
6963 #[inline]
6964 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
6965 Self {
6966 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
6967 }
6968 }
6969 }
6970
6971 impl<'a> ScanNodesOp<'a> {
6972 pub const VT_LABELS: ::flatbuffers::VOffsetT = 4;
6973 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 6;
6974 pub const VT_MUST_LABELS: ::flatbuffers::VOffsetT = 8;
6975 pub const VT_FORBIDDEN_LABELS: ::flatbuffers::VOffsetT = 10;
6976 pub const VT_EST_ROWS: ::flatbuffers::VOffsetT = 12;
6977 pub const VT_SELECTIVITY: ::flatbuffers::VOffsetT = 14;
6978 pub const VT_GRAPH_REF: ::flatbuffers::VOffsetT = 16;
6979
6980 #[inline]
6981 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
6982 ScanNodesOp { _tab: table }
6983 }
6984 #[allow(unused_mut)]
6985 pub fn create<
6986 'bldr: 'args,
6987 'args: 'mut_bldr,
6988 'mut_bldr,
6989 A: ::flatbuffers::Allocator + 'bldr,
6990 >(
6991 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
6992 args: &'args ScanNodesOpArgs<'args>,
6993 ) -> ::flatbuffers::WIPOffset<ScanNodesOp<'bldr>> {
6994 let mut builder = ScanNodesOpBuilder::new(_fbb);
6995 builder.add_selectivity(args.selectivity);
6996 builder.add_est_rows(args.est_rows);
6997 if let Some(x) = args.graph_ref {
6998 builder.add_graph_ref(x);
6999 }
7000 if let Some(x) = args.forbidden_labels {
7001 builder.add_forbidden_labels(x);
7002 }
7003 if let Some(x) = args.must_labels {
7004 builder.add_must_labels(x);
7005 }
7006 if let Some(x) = args.schema {
7007 builder.add_schema(x);
7008 }
7009 if let Some(x) = args.labels {
7010 builder.add_labels(x);
7011 }
7012 builder.finish()
7013 }
7014
7015 #[inline]
7016 pub fn labels(
7017 &self,
7018 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
7019 unsafe {
7023 self._tab.get::<::flatbuffers::ForwardsUOffset<
7024 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7025 >>(ScanNodesOp::VT_LABELS, None)
7026 }
7027 }
7028 #[inline]
7029 pub fn schema(
7030 &self,
7031 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
7032 unsafe {
7036 self._tab.get::<::flatbuffers::ForwardsUOffset<
7037 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
7038 >>(ScanNodesOp::VT_SCHEMA, None)
7039 }
7040 }
7041 #[inline]
7042 pub fn must_labels(
7043 &self,
7044 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
7045 unsafe {
7049 self._tab.get::<::flatbuffers::ForwardsUOffset<
7050 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7051 >>(ScanNodesOp::VT_MUST_LABELS, None)
7052 }
7053 }
7054 #[inline]
7055 pub fn forbidden_labels(
7056 &self,
7057 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
7058 unsafe {
7062 self._tab.get::<::flatbuffers::ForwardsUOffset<
7063 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7064 >>(ScanNodesOp::VT_FORBIDDEN_LABELS, None)
7065 }
7066 }
7067 #[inline]
7068 pub fn est_rows(&self) -> i64 {
7069 unsafe {
7073 self._tab
7074 .get::<i64>(ScanNodesOp::VT_EST_ROWS, Some(-1))
7075 .unwrap()
7076 }
7077 }
7078 #[inline]
7079 pub fn selectivity(&self) -> f64 {
7080 unsafe {
7084 self._tab
7085 .get::<f64>(ScanNodesOp::VT_SELECTIVITY, Some(1.0))
7086 .unwrap()
7087 }
7088 }
7089 #[inline]
7090 pub fn graph_ref(&self) -> Option<&'a str> {
7091 unsafe {
7095 self._tab
7096 .get::<::flatbuffers::ForwardsUOffset<&str>>(ScanNodesOp::VT_GRAPH_REF, None)
7097 }
7098 }
7099 }
7100
7101 impl ::flatbuffers::Verifiable for ScanNodesOp<'_> {
7102 #[inline]
7103 fn run_verifier(
7104 v: &mut ::flatbuffers::Verifier,
7105 pos: usize,
7106 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
7107 v.visit_table(pos)?
7108 .visit_field::<::flatbuffers::ForwardsUOffset<
7109 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
7110 >>("labels", Self::VT_LABELS, false)?
7111 .visit_field::<::flatbuffers::ForwardsUOffset<
7112 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
7113 >>("schema", Self::VT_SCHEMA, false)?
7114 .visit_field::<::flatbuffers::ForwardsUOffset<
7115 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
7116 >>("must_labels", Self::VT_MUST_LABELS, false)?
7117 .visit_field::<::flatbuffers::ForwardsUOffset<
7118 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
7119 >>("forbidden_labels", Self::VT_FORBIDDEN_LABELS, false)?
7120 .visit_field::<i64>("est_rows", Self::VT_EST_ROWS, false)?
7121 .visit_field::<f64>("selectivity", Self::VT_SELECTIVITY, false)?
7122 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
7123 "graph_ref",
7124 Self::VT_GRAPH_REF,
7125 false,
7126 )?
7127 .finish();
7128 Ok(())
7129 }
7130 }
7131 pub struct ScanNodesOpArgs<'a> {
7132 pub labels: Option<
7133 ::flatbuffers::WIPOffset<
7134 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7135 >,
7136 >,
7137 pub schema: Option<
7138 ::flatbuffers::WIPOffset<
7139 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
7140 >,
7141 >,
7142 pub must_labels: Option<
7143 ::flatbuffers::WIPOffset<
7144 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7145 >,
7146 >,
7147 pub forbidden_labels: Option<
7148 ::flatbuffers::WIPOffset<
7149 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7150 >,
7151 >,
7152 pub est_rows: i64,
7153 pub selectivity: f64,
7154 pub graph_ref: Option<::flatbuffers::WIPOffset<&'a str>>,
7155 }
7156 impl<'a> Default for ScanNodesOpArgs<'a> {
7157 #[inline]
7158 fn default() -> Self {
7159 ScanNodesOpArgs {
7160 labels: None,
7161 schema: None,
7162 must_labels: None,
7163 forbidden_labels: None,
7164 est_rows: -1,
7165 selectivity: 1.0,
7166 graph_ref: None,
7167 }
7168 }
7169 }
7170
7171 pub struct ScanNodesOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
7172 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
7173 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
7174 }
7175 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ScanNodesOpBuilder<'a, 'b, A> {
7176 #[inline]
7177 pub fn add_labels(
7178 &mut self,
7179 labels: ::flatbuffers::WIPOffset<
7180 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
7181 >,
7182 ) {
7183 self.fbb_
7184 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ScanNodesOp::VT_LABELS, labels);
7185 }
7186 #[inline]
7187 pub fn add_schema(
7188 &mut self,
7189 schema: ::flatbuffers::WIPOffset<
7190 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
7191 >,
7192 ) {
7193 self.fbb_
7194 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ScanNodesOp::VT_SCHEMA, schema);
7195 }
7196 #[inline]
7197 pub fn add_must_labels(
7198 &mut self,
7199 must_labels: ::flatbuffers::WIPOffset<
7200 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
7201 >,
7202 ) {
7203 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
7204 ScanNodesOp::VT_MUST_LABELS,
7205 must_labels,
7206 );
7207 }
7208 #[inline]
7209 pub fn add_forbidden_labels(
7210 &mut self,
7211 forbidden_labels: ::flatbuffers::WIPOffset<
7212 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
7213 >,
7214 ) {
7215 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
7216 ScanNodesOp::VT_FORBIDDEN_LABELS,
7217 forbidden_labels,
7218 );
7219 }
7220 #[inline]
7221 pub fn add_est_rows(&mut self, est_rows: i64) {
7222 self.fbb_
7223 .push_slot::<i64>(ScanNodesOp::VT_EST_ROWS, est_rows, -1);
7224 }
7225 #[inline]
7226 pub fn add_selectivity(&mut self, selectivity: f64) {
7227 self.fbb_
7228 .push_slot::<f64>(ScanNodesOp::VT_SELECTIVITY, selectivity, 1.0);
7229 }
7230 #[inline]
7231 pub fn add_graph_ref(&mut self, graph_ref: ::flatbuffers::WIPOffset<&'b str>) {
7232 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
7233 ScanNodesOp::VT_GRAPH_REF,
7234 graph_ref,
7235 );
7236 }
7237 #[inline]
7238 pub fn new(
7239 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
7240 ) -> ScanNodesOpBuilder<'a, 'b, A> {
7241 let start = _fbb.start_table();
7242 ScanNodesOpBuilder {
7243 fbb_: _fbb,
7244 start_: start,
7245 }
7246 }
7247 #[inline]
7248 pub fn finish(self) -> ::flatbuffers::WIPOffset<ScanNodesOp<'a>> {
7249 let o = self.fbb_.end_table(self.start_);
7250 ::flatbuffers::WIPOffset::new(o.value())
7251 }
7252 }
7253
7254 impl ::core::fmt::Debug for ScanNodesOp<'_> {
7255 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7256 let mut ds = f.debug_struct("ScanNodesOp");
7257 ds.field("labels", &self.labels());
7258 ds.field("schema", &self.schema());
7259 ds.field("must_labels", &self.must_labels());
7260 ds.field("forbidden_labels", &self.forbidden_labels());
7261 ds.field("est_rows", &self.est_rows());
7262 ds.field("selectivity", &self.selectivity());
7263 ds.field("graph_ref", &self.graph_ref());
7264 ds.finish()
7265 }
7266 }
7267 pub enum ScanRelsOpOffset {}
7268 #[derive(Copy, Clone, PartialEq)]
7269
7270 pub struct ScanRelsOp<'a> {
7271 pub _tab: ::flatbuffers::Table<'a>,
7272 }
7273
7274 impl<'a> ::flatbuffers::Follow<'a> for ScanRelsOp<'a> {
7275 type Inner = ScanRelsOp<'a>;
7276 #[inline]
7277 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7278 Self {
7279 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
7280 }
7281 }
7282 }
7283
7284 impl<'a> ScanRelsOp<'a> {
7285 pub const VT_TYPES: ::flatbuffers::VOffsetT = 4;
7286 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 6;
7287 pub const VT_SRC_LABELS: ::flatbuffers::VOffsetT = 8;
7288 pub const VT_DST_LABELS: ::flatbuffers::VOffsetT = 10;
7289 pub const VT_EST_ROWS: ::flatbuffers::VOffsetT = 12;
7290 pub const VT_SELECTIVITY: ::flatbuffers::VOffsetT = 14;
7291
7292 #[inline]
7293 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
7294 ScanRelsOp { _tab: table }
7295 }
7296 #[allow(unused_mut)]
7297 pub fn create<
7298 'bldr: 'args,
7299 'args: 'mut_bldr,
7300 'mut_bldr,
7301 A: ::flatbuffers::Allocator + 'bldr,
7302 >(
7303 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
7304 args: &'args ScanRelsOpArgs<'args>,
7305 ) -> ::flatbuffers::WIPOffset<ScanRelsOp<'bldr>> {
7306 let mut builder = ScanRelsOpBuilder::new(_fbb);
7307 builder.add_selectivity(args.selectivity);
7308 builder.add_est_rows(args.est_rows);
7309 if let Some(x) = args.dst_labels {
7310 builder.add_dst_labels(x);
7311 }
7312 if let Some(x) = args.src_labels {
7313 builder.add_src_labels(x);
7314 }
7315 if let Some(x) = args.schema {
7316 builder.add_schema(x);
7317 }
7318 if let Some(x) = args.types {
7319 builder.add_types(x);
7320 }
7321 builder.finish()
7322 }
7323
7324 #[inline]
7325 pub fn types(
7326 &self,
7327 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
7328 unsafe {
7332 self._tab.get::<::flatbuffers::ForwardsUOffset<
7333 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7334 >>(ScanRelsOp::VT_TYPES, None)
7335 }
7336 }
7337 #[inline]
7338 pub fn schema(
7339 &self,
7340 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
7341 unsafe {
7345 self._tab.get::<::flatbuffers::ForwardsUOffset<
7346 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
7347 >>(ScanRelsOp::VT_SCHEMA, None)
7348 }
7349 }
7350 #[inline]
7351 pub fn src_labels(
7352 &self,
7353 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
7354 unsafe {
7358 self._tab.get::<::flatbuffers::ForwardsUOffset<
7359 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7360 >>(ScanRelsOp::VT_SRC_LABELS, None)
7361 }
7362 }
7363 #[inline]
7364 pub fn dst_labels(
7365 &self,
7366 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
7367 unsafe {
7371 self._tab.get::<::flatbuffers::ForwardsUOffset<
7372 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7373 >>(ScanRelsOp::VT_DST_LABELS, None)
7374 }
7375 }
7376 #[inline]
7377 pub fn est_rows(&self) -> i64 {
7378 unsafe {
7382 self._tab
7383 .get::<i64>(ScanRelsOp::VT_EST_ROWS, Some(-1))
7384 .unwrap()
7385 }
7386 }
7387 #[inline]
7388 pub fn selectivity(&self) -> f64 {
7389 unsafe {
7393 self._tab
7394 .get::<f64>(ScanRelsOp::VT_SELECTIVITY, Some(1.0))
7395 .unwrap()
7396 }
7397 }
7398 }
7399
7400 impl ::flatbuffers::Verifiable for ScanRelsOp<'_> {
7401 #[inline]
7402 fn run_verifier(
7403 v: &mut ::flatbuffers::Verifier,
7404 pos: usize,
7405 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
7406 v.visit_table(pos)?
7407 .visit_field::<::flatbuffers::ForwardsUOffset<
7408 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
7409 >>("types", Self::VT_TYPES, false)?
7410 .visit_field::<::flatbuffers::ForwardsUOffset<
7411 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
7412 >>("schema", Self::VT_SCHEMA, false)?
7413 .visit_field::<::flatbuffers::ForwardsUOffset<
7414 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
7415 >>("src_labels", Self::VT_SRC_LABELS, false)?
7416 .visit_field::<::flatbuffers::ForwardsUOffset<
7417 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
7418 >>("dst_labels", Self::VT_DST_LABELS, false)?
7419 .visit_field::<i64>("est_rows", Self::VT_EST_ROWS, false)?
7420 .visit_field::<f64>("selectivity", Self::VT_SELECTIVITY, false)?
7421 .finish();
7422 Ok(())
7423 }
7424 }
7425 pub struct ScanRelsOpArgs<'a> {
7426 pub types: Option<
7427 ::flatbuffers::WIPOffset<
7428 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7429 >,
7430 >,
7431 pub schema: Option<
7432 ::flatbuffers::WIPOffset<
7433 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
7434 >,
7435 >,
7436 pub src_labels: Option<
7437 ::flatbuffers::WIPOffset<
7438 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7439 >,
7440 >,
7441 pub dst_labels: Option<
7442 ::flatbuffers::WIPOffset<
7443 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7444 >,
7445 >,
7446 pub est_rows: i64,
7447 pub selectivity: f64,
7448 }
7449 impl<'a> Default for ScanRelsOpArgs<'a> {
7450 #[inline]
7451 fn default() -> Self {
7452 ScanRelsOpArgs {
7453 types: None,
7454 schema: None,
7455 src_labels: None,
7456 dst_labels: None,
7457 est_rows: -1,
7458 selectivity: 1.0,
7459 }
7460 }
7461 }
7462
7463 pub struct ScanRelsOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
7464 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
7465 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
7466 }
7467 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ScanRelsOpBuilder<'a, 'b, A> {
7468 #[inline]
7469 pub fn add_types(
7470 &mut self,
7471 types: ::flatbuffers::WIPOffset<
7472 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
7473 >,
7474 ) {
7475 self.fbb_
7476 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ScanRelsOp::VT_TYPES, types);
7477 }
7478 #[inline]
7479 pub fn add_schema(
7480 &mut self,
7481 schema: ::flatbuffers::WIPOffset<
7482 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
7483 >,
7484 ) {
7485 self.fbb_
7486 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ScanRelsOp::VT_SCHEMA, schema);
7487 }
7488 #[inline]
7489 pub fn add_src_labels(
7490 &mut self,
7491 src_labels: ::flatbuffers::WIPOffset<
7492 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
7493 >,
7494 ) {
7495 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
7496 ScanRelsOp::VT_SRC_LABELS,
7497 src_labels,
7498 );
7499 }
7500 #[inline]
7501 pub fn add_dst_labels(
7502 &mut self,
7503 dst_labels: ::flatbuffers::WIPOffset<
7504 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
7505 >,
7506 ) {
7507 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
7508 ScanRelsOp::VT_DST_LABELS,
7509 dst_labels,
7510 );
7511 }
7512 #[inline]
7513 pub fn add_est_rows(&mut self, est_rows: i64) {
7514 self.fbb_
7515 .push_slot::<i64>(ScanRelsOp::VT_EST_ROWS, est_rows, -1);
7516 }
7517 #[inline]
7518 pub fn add_selectivity(&mut self, selectivity: f64) {
7519 self.fbb_
7520 .push_slot::<f64>(ScanRelsOp::VT_SELECTIVITY, selectivity, 1.0);
7521 }
7522 #[inline]
7523 pub fn new(
7524 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
7525 ) -> ScanRelsOpBuilder<'a, 'b, A> {
7526 let start = _fbb.start_table();
7527 ScanRelsOpBuilder {
7528 fbb_: _fbb,
7529 start_: start,
7530 }
7531 }
7532 #[inline]
7533 pub fn finish(self) -> ::flatbuffers::WIPOffset<ScanRelsOp<'a>> {
7534 let o = self.fbb_.end_table(self.start_);
7535 ::flatbuffers::WIPOffset::new(o.value())
7536 }
7537 }
7538
7539 impl ::core::fmt::Debug for ScanRelsOp<'_> {
7540 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7541 let mut ds = f.debug_struct("ScanRelsOp");
7542 ds.field("types", &self.types());
7543 ds.field("schema", &self.schema());
7544 ds.field("src_labels", &self.src_labels());
7545 ds.field("dst_labels", &self.dst_labels());
7546 ds.field("est_rows", &self.est_rows());
7547 ds.field("selectivity", &self.selectivity());
7548 ds.finish()
7549 }
7550 }
7551 pub enum ExpandOpOffset {}
7552 #[derive(Copy, Clone, PartialEq)]
7553
7554 pub struct ExpandOp<'a> {
7555 pub _tab: ::flatbuffers::Table<'a>,
7556 }
7557
7558 impl<'a> ::flatbuffers::Follow<'a> for ExpandOp<'a> {
7559 type Inner = ExpandOp<'a>;
7560 #[inline]
7561 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7562 Self {
7563 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
7564 }
7565 }
7566 }
7567
7568 impl<'a> ExpandOp<'a> {
7569 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
7570 pub const VT_SRC_COL: ::flatbuffers::VOffsetT = 6;
7571 pub const VT_TYPES: ::flatbuffers::VOffsetT = 8;
7572 pub const VT_DIR: ::flatbuffers::VOffsetT = 10;
7573 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 12;
7574 pub const VT_SRC_VAR: ::flatbuffers::VOffsetT = 14;
7575 pub const VT_REL_VAR: ::flatbuffers::VOffsetT = 16;
7576 pub const VT_DST_VAR: ::flatbuffers::VOffsetT = 18;
7577 pub const VT_LEGAL_SRC_LABELS: ::flatbuffers::VOffsetT = 20;
7578 pub const VT_LEGAL_DST_LABELS: ::flatbuffers::VOffsetT = 22;
7579 pub const VT_EST_DEGREE: ::flatbuffers::VOffsetT = 24;
7580 pub const VT_GRAPH_REF: ::flatbuffers::VOffsetT = 26;
7581
7582 #[inline]
7583 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
7584 ExpandOp { _tab: table }
7585 }
7586 #[allow(unused_mut)]
7587 pub fn create<
7588 'bldr: 'args,
7589 'args: 'mut_bldr,
7590 'mut_bldr,
7591 A: ::flatbuffers::Allocator + 'bldr,
7592 >(
7593 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
7594 args: &'args ExpandOpArgs<'args>,
7595 ) -> ::flatbuffers::WIPOffset<ExpandOp<'bldr>> {
7596 let mut builder = ExpandOpBuilder::new(_fbb);
7597 builder.add_est_degree(args.est_degree);
7598 if let Some(x) = args.graph_ref {
7599 builder.add_graph_ref(x);
7600 }
7601 if let Some(x) = args.legal_dst_labels {
7602 builder.add_legal_dst_labels(x);
7603 }
7604 if let Some(x) = args.legal_src_labels {
7605 builder.add_legal_src_labels(x);
7606 }
7607 if let Some(x) = args.dst_var {
7608 builder.add_dst_var(x);
7609 }
7610 if let Some(x) = args.rel_var {
7611 builder.add_rel_var(x);
7612 }
7613 if let Some(x) = args.src_var {
7614 builder.add_src_var(x);
7615 }
7616 if let Some(x) = args.schema {
7617 builder.add_schema(x);
7618 }
7619 if let Some(x) = args.types {
7620 builder.add_types(x);
7621 }
7622 builder.add_src_col(args.src_col);
7623 builder.add_input(args.input);
7624 builder.add_dir(args.dir);
7625 builder.finish()
7626 }
7627
7628 #[inline]
7629 pub fn input(&self) -> u32 {
7630 unsafe { self._tab.get::<u32>(ExpandOp::VT_INPUT, Some(0)).unwrap() }
7634 }
7635 #[inline]
7636 pub fn src_col(&self) -> u32 {
7637 unsafe { self._tab.get::<u32>(ExpandOp::VT_SRC_COL, Some(0)).unwrap() }
7641 }
7642 #[inline]
7643 pub fn types(
7644 &self,
7645 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
7646 unsafe {
7650 self._tab.get::<::flatbuffers::ForwardsUOffset<
7651 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7652 >>(ExpandOp::VT_TYPES, None)
7653 }
7654 }
7655 #[inline]
7656 pub fn dir(&self) -> ExpandDir {
7657 unsafe {
7661 self._tab
7662 .get::<ExpandDir>(ExpandOp::VT_DIR, Some(ExpandDir::out))
7663 .unwrap()
7664 }
7665 }
7666 #[inline]
7667 pub fn schema(
7668 &self,
7669 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
7670 unsafe {
7674 self._tab.get::<::flatbuffers::ForwardsUOffset<
7675 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
7676 >>(ExpandOp::VT_SCHEMA, None)
7677 }
7678 }
7679 #[inline]
7680 pub fn src_var(&self) -> Option<&'a str> {
7681 unsafe {
7685 self._tab
7686 .get::<::flatbuffers::ForwardsUOffset<&str>>(ExpandOp::VT_SRC_VAR, None)
7687 }
7688 }
7689 #[inline]
7690 pub fn rel_var(&self) -> Option<&'a str> {
7691 unsafe {
7695 self._tab
7696 .get::<::flatbuffers::ForwardsUOffset<&str>>(ExpandOp::VT_REL_VAR, None)
7697 }
7698 }
7699 #[inline]
7700 pub fn dst_var(&self) -> Option<&'a str> {
7701 unsafe {
7705 self._tab
7706 .get::<::flatbuffers::ForwardsUOffset<&str>>(ExpandOp::VT_DST_VAR, None)
7707 }
7708 }
7709 #[inline]
7710 pub fn legal_src_labels(
7711 &self,
7712 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
7713 unsafe {
7717 self._tab.get::<::flatbuffers::ForwardsUOffset<
7718 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7719 >>(ExpandOp::VT_LEGAL_SRC_LABELS, None)
7720 }
7721 }
7722 #[inline]
7723 pub fn legal_dst_labels(
7724 &self,
7725 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
7726 unsafe {
7730 self._tab.get::<::flatbuffers::ForwardsUOffset<
7731 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7732 >>(ExpandOp::VT_LEGAL_DST_LABELS, None)
7733 }
7734 }
7735 #[inline]
7736 pub fn est_degree(&self) -> f64 {
7737 unsafe {
7741 self._tab
7742 .get::<f64>(ExpandOp::VT_EST_DEGREE, Some(-1.0))
7743 .unwrap()
7744 }
7745 }
7746 #[inline]
7747 pub fn graph_ref(&self) -> Option<&'a str> {
7748 unsafe {
7752 self._tab
7753 .get::<::flatbuffers::ForwardsUOffset<&str>>(ExpandOp::VT_GRAPH_REF, None)
7754 }
7755 }
7756 }
7757
7758 impl ::flatbuffers::Verifiable for ExpandOp<'_> {
7759 #[inline]
7760 fn run_verifier(
7761 v: &mut ::flatbuffers::Verifier,
7762 pos: usize,
7763 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
7764 v.visit_table(pos)?
7765 .visit_field::<u32>("input", Self::VT_INPUT, false)?
7766 .visit_field::<u32>("src_col", Self::VT_SRC_COL, false)?
7767 .visit_field::<::flatbuffers::ForwardsUOffset<
7768 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
7769 >>("types", Self::VT_TYPES, false)?
7770 .visit_field::<ExpandDir>("dir", Self::VT_DIR, false)?
7771 .visit_field::<::flatbuffers::ForwardsUOffset<
7772 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
7773 >>("schema", Self::VT_SCHEMA, false)?
7774 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
7775 "src_var",
7776 Self::VT_SRC_VAR,
7777 false,
7778 )?
7779 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
7780 "rel_var",
7781 Self::VT_REL_VAR,
7782 false,
7783 )?
7784 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
7785 "dst_var",
7786 Self::VT_DST_VAR,
7787 false,
7788 )?
7789 .visit_field::<::flatbuffers::ForwardsUOffset<
7790 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
7791 >>("legal_src_labels", Self::VT_LEGAL_SRC_LABELS, false)?
7792 .visit_field::<::flatbuffers::ForwardsUOffset<
7793 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
7794 >>("legal_dst_labels", Self::VT_LEGAL_DST_LABELS, false)?
7795 .visit_field::<f64>("est_degree", Self::VT_EST_DEGREE, false)?
7796 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
7797 "graph_ref",
7798 Self::VT_GRAPH_REF,
7799 false,
7800 )?
7801 .finish();
7802 Ok(())
7803 }
7804 }
7805 pub struct ExpandOpArgs<'a> {
7806 pub input: u32,
7807 pub src_col: u32,
7808 pub types: Option<
7809 ::flatbuffers::WIPOffset<
7810 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7811 >,
7812 >,
7813 pub dir: ExpandDir,
7814 pub schema: Option<
7815 ::flatbuffers::WIPOffset<
7816 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
7817 >,
7818 >,
7819 pub src_var: Option<::flatbuffers::WIPOffset<&'a str>>,
7820 pub rel_var: Option<::flatbuffers::WIPOffset<&'a str>>,
7821 pub dst_var: Option<::flatbuffers::WIPOffset<&'a str>>,
7822 pub legal_src_labels: Option<
7823 ::flatbuffers::WIPOffset<
7824 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7825 >,
7826 >,
7827 pub legal_dst_labels: Option<
7828 ::flatbuffers::WIPOffset<
7829 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
7830 >,
7831 >,
7832 pub est_degree: f64,
7833 pub graph_ref: Option<::flatbuffers::WIPOffset<&'a str>>,
7834 }
7835 impl<'a> Default for ExpandOpArgs<'a> {
7836 #[inline]
7837 fn default() -> Self {
7838 ExpandOpArgs {
7839 input: 0,
7840 src_col: 0,
7841 types: None,
7842 dir: ExpandDir::out,
7843 schema: None,
7844 src_var: None,
7845 rel_var: None,
7846 dst_var: None,
7847 legal_src_labels: None,
7848 legal_dst_labels: None,
7849 est_degree: -1.0,
7850 graph_ref: None,
7851 }
7852 }
7853 }
7854
7855 pub struct ExpandOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
7856 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
7857 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
7858 }
7859 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ExpandOpBuilder<'a, 'b, A> {
7860 #[inline]
7861 pub fn add_input(&mut self, input: u32) {
7862 self.fbb_.push_slot::<u32>(ExpandOp::VT_INPUT, input, 0);
7863 }
7864 #[inline]
7865 pub fn add_src_col(&mut self, src_col: u32) {
7866 self.fbb_.push_slot::<u32>(ExpandOp::VT_SRC_COL, src_col, 0);
7867 }
7868 #[inline]
7869 pub fn add_types(
7870 &mut self,
7871 types: ::flatbuffers::WIPOffset<
7872 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
7873 >,
7874 ) {
7875 self.fbb_
7876 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ExpandOp::VT_TYPES, types);
7877 }
7878 #[inline]
7879 pub fn add_dir(&mut self, dir: ExpandDir) {
7880 self.fbb_
7881 .push_slot::<ExpandDir>(ExpandOp::VT_DIR, dir, ExpandDir::out);
7882 }
7883 #[inline]
7884 pub fn add_schema(
7885 &mut self,
7886 schema: ::flatbuffers::WIPOffset<
7887 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
7888 >,
7889 ) {
7890 self.fbb_
7891 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ExpandOp::VT_SCHEMA, schema);
7892 }
7893 #[inline]
7894 pub fn add_src_var(&mut self, src_var: ::flatbuffers::WIPOffset<&'b str>) {
7895 self.fbb_
7896 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ExpandOp::VT_SRC_VAR, src_var);
7897 }
7898 #[inline]
7899 pub fn add_rel_var(&mut self, rel_var: ::flatbuffers::WIPOffset<&'b str>) {
7900 self.fbb_
7901 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ExpandOp::VT_REL_VAR, rel_var);
7902 }
7903 #[inline]
7904 pub fn add_dst_var(&mut self, dst_var: ::flatbuffers::WIPOffset<&'b str>) {
7905 self.fbb_
7906 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ExpandOp::VT_DST_VAR, dst_var);
7907 }
7908 #[inline]
7909 pub fn add_legal_src_labels(
7910 &mut self,
7911 legal_src_labels: ::flatbuffers::WIPOffset<
7912 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
7913 >,
7914 ) {
7915 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
7916 ExpandOp::VT_LEGAL_SRC_LABELS,
7917 legal_src_labels,
7918 );
7919 }
7920 #[inline]
7921 pub fn add_legal_dst_labels(
7922 &mut self,
7923 legal_dst_labels: ::flatbuffers::WIPOffset<
7924 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
7925 >,
7926 ) {
7927 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
7928 ExpandOp::VT_LEGAL_DST_LABELS,
7929 legal_dst_labels,
7930 );
7931 }
7932 #[inline]
7933 pub fn add_est_degree(&mut self, est_degree: f64) {
7934 self.fbb_
7935 .push_slot::<f64>(ExpandOp::VT_EST_DEGREE, est_degree, -1.0);
7936 }
7937 #[inline]
7938 pub fn add_graph_ref(&mut self, graph_ref: ::flatbuffers::WIPOffset<&'b str>) {
7939 self.fbb_
7940 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ExpandOp::VT_GRAPH_REF, graph_ref);
7941 }
7942 #[inline]
7943 pub fn new(
7944 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
7945 ) -> ExpandOpBuilder<'a, 'b, A> {
7946 let start = _fbb.start_table();
7947 ExpandOpBuilder {
7948 fbb_: _fbb,
7949 start_: start,
7950 }
7951 }
7952 #[inline]
7953 pub fn finish(self) -> ::flatbuffers::WIPOffset<ExpandOp<'a>> {
7954 let o = self.fbb_.end_table(self.start_);
7955 ::flatbuffers::WIPOffset::new(o.value())
7956 }
7957 }
7958
7959 impl ::core::fmt::Debug for ExpandOp<'_> {
7960 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7961 let mut ds = f.debug_struct("ExpandOp");
7962 ds.field("input", &self.input());
7963 ds.field("src_col", &self.src_col());
7964 ds.field("types", &self.types());
7965 ds.field("dir", &self.dir());
7966 ds.field("schema", &self.schema());
7967 ds.field("src_var", &self.src_var());
7968 ds.field("rel_var", &self.rel_var());
7969 ds.field("dst_var", &self.dst_var());
7970 ds.field("legal_src_labels", &self.legal_src_labels());
7971 ds.field("legal_dst_labels", &self.legal_dst_labels());
7972 ds.field("est_degree", &self.est_degree());
7973 ds.field("graph_ref", &self.graph_ref());
7974 ds.finish()
7975 }
7976 }
7977 pub enum OptionalExpandOpOffset {}
7978 #[derive(Copy, Clone, PartialEq)]
7979
7980 pub struct OptionalExpandOp<'a> {
7981 pub _tab: ::flatbuffers::Table<'a>,
7982 }
7983
7984 impl<'a> ::flatbuffers::Follow<'a> for OptionalExpandOp<'a> {
7985 type Inner = OptionalExpandOp<'a>;
7986 #[inline]
7987 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7988 Self {
7989 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
7990 }
7991 }
7992 }
7993
7994 impl<'a> OptionalExpandOp<'a> {
7995 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
7996 pub const VT_SRC_COL: ::flatbuffers::VOffsetT = 6;
7997 pub const VT_TYPES: ::flatbuffers::VOffsetT = 8;
7998 pub const VT_DIR: ::flatbuffers::VOffsetT = 10;
7999 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 12;
8000 pub const VT_SRC_VAR: ::flatbuffers::VOffsetT = 14;
8001 pub const VT_REL_VAR: ::flatbuffers::VOffsetT = 16;
8002 pub const VT_DST_VAR: ::flatbuffers::VOffsetT = 18;
8003 pub const VT_LEGAL_SRC_LABELS: ::flatbuffers::VOffsetT = 20;
8004 pub const VT_LEGAL_DST_LABELS: ::flatbuffers::VOffsetT = 22;
8005 pub const VT_GRAPH_REF: ::flatbuffers::VOffsetT = 24;
8006
8007 #[inline]
8008 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
8009 OptionalExpandOp { _tab: table }
8010 }
8011 #[allow(unused_mut)]
8012 pub fn create<
8013 'bldr: 'args,
8014 'args: 'mut_bldr,
8015 'mut_bldr,
8016 A: ::flatbuffers::Allocator + 'bldr,
8017 >(
8018 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
8019 args: &'args OptionalExpandOpArgs<'args>,
8020 ) -> ::flatbuffers::WIPOffset<OptionalExpandOp<'bldr>> {
8021 let mut builder = OptionalExpandOpBuilder::new(_fbb);
8022 if let Some(x) = args.graph_ref {
8023 builder.add_graph_ref(x);
8024 }
8025 if let Some(x) = args.legal_dst_labels {
8026 builder.add_legal_dst_labels(x);
8027 }
8028 if let Some(x) = args.legal_src_labels {
8029 builder.add_legal_src_labels(x);
8030 }
8031 if let Some(x) = args.dst_var {
8032 builder.add_dst_var(x);
8033 }
8034 if let Some(x) = args.rel_var {
8035 builder.add_rel_var(x);
8036 }
8037 if let Some(x) = args.src_var {
8038 builder.add_src_var(x);
8039 }
8040 if let Some(x) = args.schema {
8041 builder.add_schema(x);
8042 }
8043 if let Some(x) = args.types {
8044 builder.add_types(x);
8045 }
8046 builder.add_src_col(args.src_col);
8047 builder.add_input(args.input);
8048 builder.add_dir(args.dir);
8049 builder.finish()
8050 }
8051
8052 #[inline]
8053 pub fn input(&self) -> u32 {
8054 unsafe {
8058 self._tab
8059 .get::<u32>(OptionalExpandOp::VT_INPUT, Some(0))
8060 .unwrap()
8061 }
8062 }
8063 #[inline]
8064 pub fn src_col(&self) -> u32 {
8065 unsafe {
8069 self._tab
8070 .get::<u32>(OptionalExpandOp::VT_SRC_COL, Some(0))
8071 .unwrap()
8072 }
8073 }
8074 #[inline]
8075 pub fn types(
8076 &self,
8077 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
8078 unsafe {
8082 self._tab.get::<::flatbuffers::ForwardsUOffset<
8083 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
8084 >>(OptionalExpandOp::VT_TYPES, None)
8085 }
8086 }
8087 #[inline]
8088 pub fn dir(&self) -> ExpandDir {
8089 unsafe {
8093 self._tab
8094 .get::<ExpandDir>(OptionalExpandOp::VT_DIR, Some(ExpandDir::out))
8095 .unwrap()
8096 }
8097 }
8098 #[inline]
8099 pub fn schema(
8100 &self,
8101 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
8102 unsafe {
8106 self._tab.get::<::flatbuffers::ForwardsUOffset<
8107 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
8108 >>(OptionalExpandOp::VT_SCHEMA, None)
8109 }
8110 }
8111 #[inline]
8112 pub fn src_var(&self) -> Option<&'a str> {
8113 unsafe {
8117 self._tab
8118 .get::<::flatbuffers::ForwardsUOffset<&str>>(OptionalExpandOp::VT_SRC_VAR, None)
8119 }
8120 }
8121 #[inline]
8122 pub fn rel_var(&self) -> Option<&'a str> {
8123 unsafe {
8127 self._tab
8128 .get::<::flatbuffers::ForwardsUOffset<&str>>(OptionalExpandOp::VT_REL_VAR, None)
8129 }
8130 }
8131 #[inline]
8132 pub fn dst_var(&self) -> Option<&'a str> {
8133 unsafe {
8137 self._tab
8138 .get::<::flatbuffers::ForwardsUOffset<&str>>(OptionalExpandOp::VT_DST_VAR, None)
8139 }
8140 }
8141 #[inline]
8142 pub fn legal_src_labels(
8143 &self,
8144 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
8145 unsafe {
8149 self._tab.get::<::flatbuffers::ForwardsUOffset<
8150 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
8151 >>(OptionalExpandOp::VT_LEGAL_SRC_LABELS, None)
8152 }
8153 }
8154 #[inline]
8155 pub fn legal_dst_labels(
8156 &self,
8157 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
8158 unsafe {
8162 self._tab.get::<::flatbuffers::ForwardsUOffset<
8163 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
8164 >>(OptionalExpandOp::VT_LEGAL_DST_LABELS, None)
8165 }
8166 }
8167 #[inline]
8168 pub fn graph_ref(&self) -> Option<&'a str> {
8169 unsafe {
8173 self._tab.get::<::flatbuffers::ForwardsUOffset<&str>>(
8174 OptionalExpandOp::VT_GRAPH_REF,
8175 None,
8176 )
8177 }
8178 }
8179 }
8180
8181 impl ::flatbuffers::Verifiable for OptionalExpandOp<'_> {
8182 #[inline]
8183 fn run_verifier(
8184 v: &mut ::flatbuffers::Verifier,
8185 pos: usize,
8186 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
8187 v.visit_table(pos)?
8188 .visit_field::<u32>("input", Self::VT_INPUT, false)?
8189 .visit_field::<u32>("src_col", Self::VT_SRC_COL, false)?
8190 .visit_field::<::flatbuffers::ForwardsUOffset<
8191 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
8192 >>("types", Self::VT_TYPES, false)?
8193 .visit_field::<ExpandDir>("dir", Self::VT_DIR, false)?
8194 .visit_field::<::flatbuffers::ForwardsUOffset<
8195 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
8196 >>("schema", Self::VT_SCHEMA, false)?
8197 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
8198 "src_var",
8199 Self::VT_SRC_VAR,
8200 false,
8201 )?
8202 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
8203 "rel_var",
8204 Self::VT_REL_VAR,
8205 false,
8206 )?
8207 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
8208 "dst_var",
8209 Self::VT_DST_VAR,
8210 false,
8211 )?
8212 .visit_field::<::flatbuffers::ForwardsUOffset<
8213 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
8214 >>("legal_src_labels", Self::VT_LEGAL_SRC_LABELS, false)?
8215 .visit_field::<::flatbuffers::ForwardsUOffset<
8216 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
8217 >>("legal_dst_labels", Self::VT_LEGAL_DST_LABELS, false)?
8218 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
8219 "graph_ref",
8220 Self::VT_GRAPH_REF,
8221 false,
8222 )?
8223 .finish();
8224 Ok(())
8225 }
8226 }
8227 pub struct OptionalExpandOpArgs<'a> {
8228 pub input: u32,
8229 pub src_col: u32,
8230 pub types: Option<
8231 ::flatbuffers::WIPOffset<
8232 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
8233 >,
8234 >,
8235 pub dir: ExpandDir,
8236 pub schema: Option<
8237 ::flatbuffers::WIPOffset<
8238 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
8239 >,
8240 >,
8241 pub src_var: Option<::flatbuffers::WIPOffset<&'a str>>,
8242 pub rel_var: Option<::flatbuffers::WIPOffset<&'a str>>,
8243 pub dst_var: Option<::flatbuffers::WIPOffset<&'a str>>,
8244 pub legal_src_labels: Option<
8245 ::flatbuffers::WIPOffset<
8246 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
8247 >,
8248 >,
8249 pub legal_dst_labels: Option<
8250 ::flatbuffers::WIPOffset<
8251 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
8252 >,
8253 >,
8254 pub graph_ref: Option<::flatbuffers::WIPOffset<&'a str>>,
8255 }
8256 impl<'a> Default for OptionalExpandOpArgs<'a> {
8257 #[inline]
8258 fn default() -> Self {
8259 OptionalExpandOpArgs {
8260 input: 0,
8261 src_col: 0,
8262 types: None,
8263 dir: ExpandDir::out,
8264 schema: None,
8265 src_var: None,
8266 rel_var: None,
8267 dst_var: None,
8268 legal_src_labels: None,
8269 legal_dst_labels: None,
8270 graph_ref: None,
8271 }
8272 }
8273 }
8274
8275 pub struct OptionalExpandOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
8276 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
8277 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
8278 }
8279 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> OptionalExpandOpBuilder<'a, 'b, A> {
8280 #[inline]
8281 pub fn add_input(&mut self, input: u32) {
8282 self.fbb_
8283 .push_slot::<u32>(OptionalExpandOp::VT_INPUT, input, 0);
8284 }
8285 #[inline]
8286 pub fn add_src_col(&mut self, src_col: u32) {
8287 self.fbb_
8288 .push_slot::<u32>(OptionalExpandOp::VT_SRC_COL, src_col, 0);
8289 }
8290 #[inline]
8291 pub fn add_types(
8292 &mut self,
8293 types: ::flatbuffers::WIPOffset<
8294 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
8295 >,
8296 ) {
8297 self.fbb_
8298 .push_slot_always::<::flatbuffers::WIPOffset<_>>(OptionalExpandOp::VT_TYPES, types);
8299 }
8300 #[inline]
8301 pub fn add_dir(&mut self, dir: ExpandDir) {
8302 self.fbb_
8303 .push_slot::<ExpandDir>(OptionalExpandOp::VT_DIR, dir, ExpandDir::out);
8304 }
8305 #[inline]
8306 pub fn add_schema(
8307 &mut self,
8308 schema: ::flatbuffers::WIPOffset<
8309 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
8310 >,
8311 ) {
8312 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
8313 OptionalExpandOp::VT_SCHEMA,
8314 schema,
8315 );
8316 }
8317 #[inline]
8318 pub fn add_src_var(&mut self, src_var: ::flatbuffers::WIPOffset<&'b str>) {
8319 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
8320 OptionalExpandOp::VT_SRC_VAR,
8321 src_var,
8322 );
8323 }
8324 #[inline]
8325 pub fn add_rel_var(&mut self, rel_var: ::flatbuffers::WIPOffset<&'b str>) {
8326 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
8327 OptionalExpandOp::VT_REL_VAR,
8328 rel_var,
8329 );
8330 }
8331 #[inline]
8332 pub fn add_dst_var(&mut self, dst_var: ::flatbuffers::WIPOffset<&'b str>) {
8333 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
8334 OptionalExpandOp::VT_DST_VAR,
8335 dst_var,
8336 );
8337 }
8338 #[inline]
8339 pub fn add_legal_src_labels(
8340 &mut self,
8341 legal_src_labels: ::flatbuffers::WIPOffset<
8342 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
8343 >,
8344 ) {
8345 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
8346 OptionalExpandOp::VT_LEGAL_SRC_LABELS,
8347 legal_src_labels,
8348 );
8349 }
8350 #[inline]
8351 pub fn add_legal_dst_labels(
8352 &mut self,
8353 legal_dst_labels: ::flatbuffers::WIPOffset<
8354 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
8355 >,
8356 ) {
8357 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
8358 OptionalExpandOp::VT_LEGAL_DST_LABELS,
8359 legal_dst_labels,
8360 );
8361 }
8362 #[inline]
8363 pub fn add_graph_ref(&mut self, graph_ref: ::flatbuffers::WIPOffset<&'b str>) {
8364 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
8365 OptionalExpandOp::VT_GRAPH_REF,
8366 graph_ref,
8367 );
8368 }
8369 #[inline]
8370 pub fn new(
8371 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
8372 ) -> OptionalExpandOpBuilder<'a, 'b, A> {
8373 let start = _fbb.start_table();
8374 OptionalExpandOpBuilder {
8375 fbb_: _fbb,
8376 start_: start,
8377 }
8378 }
8379 #[inline]
8380 pub fn finish(self) -> ::flatbuffers::WIPOffset<OptionalExpandOp<'a>> {
8381 let o = self.fbb_.end_table(self.start_);
8382 ::flatbuffers::WIPOffset::new(o.value())
8383 }
8384 }
8385
8386 impl ::core::fmt::Debug for OptionalExpandOp<'_> {
8387 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8388 let mut ds = f.debug_struct("OptionalExpandOp");
8389 ds.field("input", &self.input());
8390 ds.field("src_col", &self.src_col());
8391 ds.field("types", &self.types());
8392 ds.field("dir", &self.dir());
8393 ds.field("schema", &self.schema());
8394 ds.field("src_var", &self.src_var());
8395 ds.field("rel_var", &self.rel_var());
8396 ds.field("dst_var", &self.dst_var());
8397 ds.field("legal_src_labels", &self.legal_src_labels());
8398 ds.field("legal_dst_labels", &self.legal_dst_labels());
8399 ds.field("graph_ref", &self.graph_ref());
8400 ds.finish()
8401 }
8402 }
8403 pub enum SemiExpandOpOffset {}
8404 #[derive(Copy, Clone, PartialEq)]
8405
8406 pub struct SemiExpandOp<'a> {
8407 pub _tab: ::flatbuffers::Table<'a>,
8408 }
8409
8410 impl<'a> ::flatbuffers::Follow<'a> for SemiExpandOp<'a> {
8411 type Inner = SemiExpandOp<'a>;
8412 #[inline]
8413 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8414 Self {
8415 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
8416 }
8417 }
8418 }
8419
8420 impl<'a> SemiExpandOp<'a> {
8421 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
8422 pub const VT_SRC_COL: ::flatbuffers::VOffsetT = 6;
8423 pub const VT_TYPES: ::flatbuffers::VOffsetT = 8;
8424 pub const VT_DIR: ::flatbuffers::VOffsetT = 10;
8425 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 12;
8426 pub const VT_LEGAL_SRC_LABELS: ::flatbuffers::VOffsetT = 14;
8427 pub const VT_LEGAL_DST_LABELS: ::flatbuffers::VOffsetT = 16;
8428
8429 #[inline]
8430 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
8431 SemiExpandOp { _tab: table }
8432 }
8433 #[allow(unused_mut)]
8434 pub fn create<
8435 'bldr: 'args,
8436 'args: 'mut_bldr,
8437 'mut_bldr,
8438 A: ::flatbuffers::Allocator + 'bldr,
8439 >(
8440 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
8441 args: &'args SemiExpandOpArgs<'args>,
8442 ) -> ::flatbuffers::WIPOffset<SemiExpandOp<'bldr>> {
8443 let mut builder = SemiExpandOpBuilder::new(_fbb);
8444 if let Some(x) = args.legal_dst_labels {
8445 builder.add_legal_dst_labels(x);
8446 }
8447 if let Some(x) = args.legal_src_labels {
8448 builder.add_legal_src_labels(x);
8449 }
8450 if let Some(x) = args.schema {
8451 builder.add_schema(x);
8452 }
8453 if let Some(x) = args.types {
8454 builder.add_types(x);
8455 }
8456 builder.add_src_col(args.src_col);
8457 builder.add_input(args.input);
8458 builder.add_dir(args.dir);
8459 builder.finish()
8460 }
8461
8462 #[inline]
8463 pub fn input(&self) -> u32 {
8464 unsafe {
8468 self._tab
8469 .get::<u32>(SemiExpandOp::VT_INPUT, Some(0))
8470 .unwrap()
8471 }
8472 }
8473 #[inline]
8474 pub fn src_col(&self) -> u32 {
8475 unsafe {
8479 self._tab
8480 .get::<u32>(SemiExpandOp::VT_SRC_COL, Some(0))
8481 .unwrap()
8482 }
8483 }
8484 #[inline]
8485 pub fn types(
8486 &self,
8487 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
8488 unsafe {
8492 self._tab.get::<::flatbuffers::ForwardsUOffset<
8493 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
8494 >>(SemiExpandOp::VT_TYPES, None)
8495 }
8496 }
8497 #[inline]
8498 pub fn dir(&self) -> ExpandDir {
8499 unsafe {
8503 self._tab
8504 .get::<ExpandDir>(SemiExpandOp::VT_DIR, Some(ExpandDir::out))
8505 .unwrap()
8506 }
8507 }
8508 #[inline]
8509 pub fn schema(
8510 &self,
8511 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
8512 unsafe {
8516 self._tab.get::<::flatbuffers::ForwardsUOffset<
8517 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
8518 >>(SemiExpandOp::VT_SCHEMA, None)
8519 }
8520 }
8521 #[inline]
8522 pub fn legal_src_labels(
8523 &self,
8524 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
8525 unsafe {
8529 self._tab.get::<::flatbuffers::ForwardsUOffset<
8530 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
8531 >>(SemiExpandOp::VT_LEGAL_SRC_LABELS, None)
8532 }
8533 }
8534 #[inline]
8535 pub fn legal_dst_labels(
8536 &self,
8537 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
8538 unsafe {
8542 self._tab.get::<::flatbuffers::ForwardsUOffset<
8543 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
8544 >>(SemiExpandOp::VT_LEGAL_DST_LABELS, None)
8545 }
8546 }
8547 }
8548
8549 impl ::flatbuffers::Verifiable for SemiExpandOp<'_> {
8550 #[inline]
8551 fn run_verifier(
8552 v: &mut ::flatbuffers::Verifier,
8553 pos: usize,
8554 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
8555 v.visit_table(pos)?
8556 .visit_field::<u32>("input", Self::VT_INPUT, false)?
8557 .visit_field::<u32>("src_col", Self::VT_SRC_COL, false)?
8558 .visit_field::<::flatbuffers::ForwardsUOffset<
8559 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
8560 >>("types", Self::VT_TYPES, false)?
8561 .visit_field::<ExpandDir>("dir", Self::VT_DIR, false)?
8562 .visit_field::<::flatbuffers::ForwardsUOffset<
8563 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
8564 >>("schema", Self::VT_SCHEMA, false)?
8565 .visit_field::<::flatbuffers::ForwardsUOffset<
8566 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
8567 >>("legal_src_labels", Self::VT_LEGAL_SRC_LABELS, false)?
8568 .visit_field::<::flatbuffers::ForwardsUOffset<
8569 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
8570 >>("legal_dst_labels", Self::VT_LEGAL_DST_LABELS, false)?
8571 .finish();
8572 Ok(())
8573 }
8574 }
8575 pub struct SemiExpandOpArgs<'a> {
8576 pub input: u32,
8577 pub src_col: u32,
8578 pub types: Option<
8579 ::flatbuffers::WIPOffset<
8580 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
8581 >,
8582 >,
8583 pub dir: ExpandDir,
8584 pub schema: Option<
8585 ::flatbuffers::WIPOffset<
8586 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
8587 >,
8588 >,
8589 pub legal_src_labels: Option<
8590 ::flatbuffers::WIPOffset<
8591 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
8592 >,
8593 >,
8594 pub legal_dst_labels: Option<
8595 ::flatbuffers::WIPOffset<
8596 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
8597 >,
8598 >,
8599 }
8600 impl<'a> Default for SemiExpandOpArgs<'a> {
8601 #[inline]
8602 fn default() -> Self {
8603 SemiExpandOpArgs {
8604 input: 0,
8605 src_col: 0,
8606 types: None,
8607 dir: ExpandDir::out,
8608 schema: None,
8609 legal_src_labels: None,
8610 legal_dst_labels: None,
8611 }
8612 }
8613 }
8614
8615 pub struct SemiExpandOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
8616 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
8617 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
8618 }
8619 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> SemiExpandOpBuilder<'a, 'b, A> {
8620 #[inline]
8621 pub fn add_input(&mut self, input: u32) {
8622 self.fbb_.push_slot::<u32>(SemiExpandOp::VT_INPUT, input, 0);
8623 }
8624 #[inline]
8625 pub fn add_src_col(&mut self, src_col: u32) {
8626 self.fbb_
8627 .push_slot::<u32>(SemiExpandOp::VT_SRC_COL, src_col, 0);
8628 }
8629 #[inline]
8630 pub fn add_types(
8631 &mut self,
8632 types: ::flatbuffers::WIPOffset<
8633 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
8634 >,
8635 ) {
8636 self.fbb_
8637 .push_slot_always::<::flatbuffers::WIPOffset<_>>(SemiExpandOp::VT_TYPES, types);
8638 }
8639 #[inline]
8640 pub fn add_dir(&mut self, dir: ExpandDir) {
8641 self.fbb_
8642 .push_slot::<ExpandDir>(SemiExpandOp::VT_DIR, dir, ExpandDir::out);
8643 }
8644 #[inline]
8645 pub fn add_schema(
8646 &mut self,
8647 schema: ::flatbuffers::WIPOffset<
8648 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
8649 >,
8650 ) {
8651 self.fbb_
8652 .push_slot_always::<::flatbuffers::WIPOffset<_>>(SemiExpandOp::VT_SCHEMA, schema);
8653 }
8654 #[inline]
8655 pub fn add_legal_src_labels(
8656 &mut self,
8657 legal_src_labels: ::flatbuffers::WIPOffset<
8658 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
8659 >,
8660 ) {
8661 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
8662 SemiExpandOp::VT_LEGAL_SRC_LABELS,
8663 legal_src_labels,
8664 );
8665 }
8666 #[inline]
8667 pub fn add_legal_dst_labels(
8668 &mut self,
8669 legal_dst_labels: ::flatbuffers::WIPOffset<
8670 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
8671 >,
8672 ) {
8673 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
8674 SemiExpandOp::VT_LEGAL_DST_LABELS,
8675 legal_dst_labels,
8676 );
8677 }
8678 #[inline]
8679 pub fn new(
8680 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
8681 ) -> SemiExpandOpBuilder<'a, 'b, A> {
8682 let start = _fbb.start_table();
8683 SemiExpandOpBuilder {
8684 fbb_: _fbb,
8685 start_: start,
8686 }
8687 }
8688 #[inline]
8689 pub fn finish(self) -> ::flatbuffers::WIPOffset<SemiExpandOp<'a>> {
8690 let o = self.fbb_.end_table(self.start_);
8691 ::flatbuffers::WIPOffset::new(o.value())
8692 }
8693 }
8694
8695 impl ::core::fmt::Debug for SemiExpandOp<'_> {
8696 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8697 let mut ds = f.debug_struct("SemiExpandOp");
8698 ds.field("input", &self.input());
8699 ds.field("src_col", &self.src_col());
8700 ds.field("types", &self.types());
8701 ds.field("dir", &self.dir());
8702 ds.field("schema", &self.schema());
8703 ds.field("legal_src_labels", &self.legal_src_labels());
8704 ds.field("legal_dst_labels", &self.legal_dst_labels());
8705 ds.finish()
8706 }
8707 }
8708 pub enum ExpandVarLenOpOffset {}
8709 #[derive(Copy, Clone, PartialEq)]
8710
8711 pub struct ExpandVarLenOp<'a> {
8712 pub _tab: ::flatbuffers::Table<'a>,
8713 }
8714
8715 impl<'a> ::flatbuffers::Follow<'a> for ExpandVarLenOp<'a> {
8716 type Inner = ExpandVarLenOp<'a>;
8717 #[inline]
8718 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8719 Self {
8720 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
8721 }
8722 }
8723 }
8724
8725 impl<'a> ExpandVarLenOp<'a> {
8726 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
8727 pub const VT_SRC_COL: ::flatbuffers::VOffsetT = 6;
8728 pub const VT_TYPES: ::flatbuffers::VOffsetT = 8;
8729 pub const VT_DIR: ::flatbuffers::VOffsetT = 10;
8730 pub const VT_MIN_HOPS: ::flatbuffers::VOffsetT = 12;
8731 pub const VT_MAX_HOPS: ::flatbuffers::VOffsetT = 14;
8732 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 16;
8733 pub const VT_SRC_VAR: ::flatbuffers::VOffsetT = 18;
8734 pub const VT_PATH_VAR: ::flatbuffers::VOffsetT = 20;
8735 pub const VT_DST_VAR: ::flatbuffers::VOffsetT = 22;
8736 pub const VT_GRAPH_REF: ::flatbuffers::VOffsetT = 24;
8737
8738 #[inline]
8739 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
8740 ExpandVarLenOp { _tab: table }
8741 }
8742 #[allow(unused_mut)]
8743 pub fn create<
8744 'bldr: 'args,
8745 'args: 'mut_bldr,
8746 'mut_bldr,
8747 A: ::flatbuffers::Allocator + 'bldr,
8748 >(
8749 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
8750 args: &'args ExpandVarLenOpArgs<'args>,
8751 ) -> ::flatbuffers::WIPOffset<ExpandVarLenOp<'bldr>> {
8752 let mut builder = ExpandVarLenOpBuilder::new(_fbb);
8753 if let Some(x) = args.graph_ref {
8754 builder.add_graph_ref(x);
8755 }
8756 if let Some(x) = args.dst_var {
8757 builder.add_dst_var(x);
8758 }
8759 if let Some(x) = args.path_var {
8760 builder.add_path_var(x);
8761 }
8762 if let Some(x) = args.src_var {
8763 builder.add_src_var(x);
8764 }
8765 if let Some(x) = args.schema {
8766 builder.add_schema(x);
8767 }
8768 builder.add_max_hops(args.max_hops);
8769 builder.add_min_hops(args.min_hops);
8770 if let Some(x) = args.types {
8771 builder.add_types(x);
8772 }
8773 builder.add_src_col(args.src_col);
8774 builder.add_input(args.input);
8775 builder.add_dir(args.dir);
8776 builder.finish()
8777 }
8778
8779 #[inline]
8780 pub fn input(&self) -> u32 {
8781 unsafe {
8785 self._tab
8786 .get::<u32>(ExpandVarLenOp::VT_INPUT, Some(0))
8787 .unwrap()
8788 }
8789 }
8790 #[inline]
8791 pub fn src_col(&self) -> u32 {
8792 unsafe {
8796 self._tab
8797 .get::<u32>(ExpandVarLenOp::VT_SRC_COL, Some(0))
8798 .unwrap()
8799 }
8800 }
8801 #[inline]
8802 pub fn types(
8803 &self,
8804 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
8805 unsafe {
8809 self._tab.get::<::flatbuffers::ForwardsUOffset<
8810 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
8811 >>(ExpandVarLenOp::VT_TYPES, None)
8812 }
8813 }
8814 #[inline]
8815 pub fn dir(&self) -> ExpandDir {
8816 unsafe {
8820 self._tab
8821 .get::<ExpandDir>(ExpandVarLenOp::VT_DIR, Some(ExpandDir::out))
8822 .unwrap()
8823 }
8824 }
8825 #[inline]
8826 pub fn min_hops(&self) -> i32 {
8827 unsafe {
8831 self._tab
8832 .get::<i32>(ExpandVarLenOp::VT_MIN_HOPS, Some(0))
8833 .unwrap()
8834 }
8835 }
8836 #[inline]
8837 pub fn max_hops(&self) -> i32 {
8838 unsafe {
8842 self._tab
8843 .get::<i32>(ExpandVarLenOp::VT_MAX_HOPS, Some(0))
8844 .unwrap()
8845 }
8846 }
8847 #[inline]
8848 pub fn schema(
8849 &self,
8850 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
8851 unsafe {
8855 self._tab.get::<::flatbuffers::ForwardsUOffset<
8856 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
8857 >>(ExpandVarLenOp::VT_SCHEMA, None)
8858 }
8859 }
8860 #[inline]
8861 pub fn src_var(&self) -> Option<&'a str> {
8862 unsafe {
8866 self._tab
8867 .get::<::flatbuffers::ForwardsUOffset<&str>>(ExpandVarLenOp::VT_SRC_VAR, None)
8868 }
8869 }
8870 #[inline]
8871 pub fn path_var(&self) -> Option<&'a str> {
8872 unsafe {
8876 self._tab
8877 .get::<::flatbuffers::ForwardsUOffset<&str>>(ExpandVarLenOp::VT_PATH_VAR, None)
8878 }
8879 }
8880 #[inline]
8881 pub fn dst_var(&self) -> Option<&'a str> {
8882 unsafe {
8886 self._tab
8887 .get::<::flatbuffers::ForwardsUOffset<&str>>(ExpandVarLenOp::VT_DST_VAR, None)
8888 }
8889 }
8890 #[inline]
8891 pub fn graph_ref(&self) -> Option<&'a str> {
8892 unsafe {
8896 self._tab
8897 .get::<::flatbuffers::ForwardsUOffset<&str>>(ExpandVarLenOp::VT_GRAPH_REF, None)
8898 }
8899 }
8900 }
8901
8902 impl ::flatbuffers::Verifiable for ExpandVarLenOp<'_> {
8903 #[inline]
8904 fn run_verifier(
8905 v: &mut ::flatbuffers::Verifier,
8906 pos: usize,
8907 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
8908 v.visit_table(pos)?
8909 .visit_field::<u32>("input", Self::VT_INPUT, false)?
8910 .visit_field::<u32>("src_col", Self::VT_SRC_COL, false)?
8911 .visit_field::<::flatbuffers::ForwardsUOffset<
8912 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
8913 >>("types", Self::VT_TYPES, false)?
8914 .visit_field::<ExpandDir>("dir", Self::VT_DIR, false)?
8915 .visit_field::<i32>("min_hops", Self::VT_MIN_HOPS, false)?
8916 .visit_field::<i32>("max_hops", Self::VT_MAX_HOPS, false)?
8917 .visit_field::<::flatbuffers::ForwardsUOffset<
8918 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
8919 >>("schema", Self::VT_SCHEMA, false)?
8920 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
8921 "src_var",
8922 Self::VT_SRC_VAR,
8923 false,
8924 )?
8925 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
8926 "path_var",
8927 Self::VT_PATH_VAR,
8928 false,
8929 )?
8930 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
8931 "dst_var",
8932 Self::VT_DST_VAR,
8933 false,
8934 )?
8935 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
8936 "graph_ref",
8937 Self::VT_GRAPH_REF,
8938 false,
8939 )?
8940 .finish();
8941 Ok(())
8942 }
8943 }
8944 pub struct ExpandVarLenOpArgs<'a> {
8945 pub input: u32,
8946 pub src_col: u32,
8947 pub types: Option<
8948 ::flatbuffers::WIPOffset<
8949 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
8950 >,
8951 >,
8952 pub dir: ExpandDir,
8953 pub min_hops: i32,
8954 pub max_hops: i32,
8955 pub schema: Option<
8956 ::flatbuffers::WIPOffset<
8957 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
8958 >,
8959 >,
8960 pub src_var: Option<::flatbuffers::WIPOffset<&'a str>>,
8961 pub path_var: Option<::flatbuffers::WIPOffset<&'a str>>,
8962 pub dst_var: Option<::flatbuffers::WIPOffset<&'a str>>,
8963 pub graph_ref: Option<::flatbuffers::WIPOffset<&'a str>>,
8964 }
8965 impl<'a> Default for ExpandVarLenOpArgs<'a> {
8966 #[inline]
8967 fn default() -> Self {
8968 ExpandVarLenOpArgs {
8969 input: 0,
8970 src_col: 0,
8971 types: None,
8972 dir: ExpandDir::out,
8973 min_hops: 0,
8974 max_hops: 0,
8975 schema: None,
8976 src_var: None,
8977 path_var: None,
8978 dst_var: None,
8979 graph_ref: None,
8980 }
8981 }
8982 }
8983
8984 pub struct ExpandVarLenOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
8985 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
8986 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
8987 }
8988 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ExpandVarLenOpBuilder<'a, 'b, A> {
8989 #[inline]
8990 pub fn add_input(&mut self, input: u32) {
8991 self.fbb_
8992 .push_slot::<u32>(ExpandVarLenOp::VT_INPUT, input, 0);
8993 }
8994 #[inline]
8995 pub fn add_src_col(&mut self, src_col: u32) {
8996 self.fbb_
8997 .push_slot::<u32>(ExpandVarLenOp::VT_SRC_COL, src_col, 0);
8998 }
8999 #[inline]
9000 pub fn add_types(
9001 &mut self,
9002 types: ::flatbuffers::WIPOffset<
9003 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
9004 >,
9005 ) {
9006 self.fbb_
9007 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ExpandVarLenOp::VT_TYPES, types);
9008 }
9009 #[inline]
9010 pub fn add_dir(&mut self, dir: ExpandDir) {
9011 self.fbb_
9012 .push_slot::<ExpandDir>(ExpandVarLenOp::VT_DIR, dir, ExpandDir::out);
9013 }
9014 #[inline]
9015 pub fn add_min_hops(&mut self, min_hops: i32) {
9016 self.fbb_
9017 .push_slot::<i32>(ExpandVarLenOp::VT_MIN_HOPS, min_hops, 0);
9018 }
9019 #[inline]
9020 pub fn add_max_hops(&mut self, max_hops: i32) {
9021 self.fbb_
9022 .push_slot::<i32>(ExpandVarLenOp::VT_MAX_HOPS, max_hops, 0);
9023 }
9024 #[inline]
9025 pub fn add_schema(
9026 &mut self,
9027 schema: ::flatbuffers::WIPOffset<
9028 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
9029 >,
9030 ) {
9031 self.fbb_
9032 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ExpandVarLenOp::VT_SCHEMA, schema);
9033 }
9034 #[inline]
9035 pub fn add_src_var(&mut self, src_var: ::flatbuffers::WIPOffset<&'b str>) {
9036 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
9037 ExpandVarLenOp::VT_SRC_VAR,
9038 src_var,
9039 );
9040 }
9041 #[inline]
9042 pub fn add_path_var(&mut self, path_var: ::flatbuffers::WIPOffset<&'b str>) {
9043 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
9044 ExpandVarLenOp::VT_PATH_VAR,
9045 path_var,
9046 );
9047 }
9048 #[inline]
9049 pub fn add_dst_var(&mut self, dst_var: ::flatbuffers::WIPOffset<&'b str>) {
9050 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
9051 ExpandVarLenOp::VT_DST_VAR,
9052 dst_var,
9053 );
9054 }
9055 #[inline]
9056 pub fn add_graph_ref(&mut self, graph_ref: ::flatbuffers::WIPOffset<&'b str>) {
9057 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
9058 ExpandVarLenOp::VT_GRAPH_REF,
9059 graph_ref,
9060 );
9061 }
9062 #[inline]
9063 pub fn new(
9064 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
9065 ) -> ExpandVarLenOpBuilder<'a, 'b, A> {
9066 let start = _fbb.start_table();
9067 ExpandVarLenOpBuilder {
9068 fbb_: _fbb,
9069 start_: start,
9070 }
9071 }
9072 #[inline]
9073 pub fn finish(self) -> ::flatbuffers::WIPOffset<ExpandVarLenOp<'a>> {
9074 let o = self.fbb_.end_table(self.start_);
9075 ::flatbuffers::WIPOffset::new(o.value())
9076 }
9077 }
9078
9079 impl ::core::fmt::Debug for ExpandVarLenOp<'_> {
9080 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9081 let mut ds = f.debug_struct("ExpandVarLenOp");
9082 ds.field("input", &self.input());
9083 ds.field("src_col", &self.src_col());
9084 ds.field("types", &self.types());
9085 ds.field("dir", &self.dir());
9086 ds.field("min_hops", &self.min_hops());
9087 ds.field("max_hops", &self.max_hops());
9088 ds.field("schema", &self.schema());
9089 ds.field("src_var", &self.src_var());
9090 ds.field("path_var", &self.path_var());
9091 ds.field("dst_var", &self.dst_var());
9092 ds.field("graph_ref", &self.graph_ref());
9093 ds.finish()
9094 }
9095 }
9096 pub enum FilterOpOffset {}
9097 #[derive(Copy, Clone, PartialEq)]
9098
9099 pub struct FilterOp<'a> {
9100 pub _tab: ::flatbuffers::Table<'a>,
9101 }
9102
9103 impl<'a> ::flatbuffers::Follow<'a> for FilterOp<'a> {
9104 type Inner = FilterOp<'a>;
9105 #[inline]
9106 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9107 Self {
9108 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
9109 }
9110 }
9111 }
9112
9113 impl<'a> FilterOp<'a> {
9114 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
9115 pub const VT_PREDICATE: ::flatbuffers::VOffsetT = 6;
9116
9117 #[inline]
9118 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
9119 FilterOp { _tab: table }
9120 }
9121 #[allow(unused_mut)]
9122 pub fn create<
9123 'bldr: 'args,
9124 'args: 'mut_bldr,
9125 'mut_bldr,
9126 A: ::flatbuffers::Allocator + 'bldr,
9127 >(
9128 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
9129 args: &'args FilterOpArgs<'args>,
9130 ) -> ::flatbuffers::WIPOffset<FilterOp<'bldr>> {
9131 let mut builder = FilterOpBuilder::new(_fbb);
9132 if let Some(x) = args.predicate {
9133 builder.add_predicate(x);
9134 }
9135 builder.add_input(args.input);
9136 builder.finish()
9137 }
9138
9139 #[inline]
9140 pub fn input(&self) -> u32 {
9141 unsafe { self._tab.get::<u32>(FilterOp::VT_INPUT, Some(0)).unwrap() }
9145 }
9146 #[inline]
9147 pub fn predicate(&self) -> Option<Expr<'a>> {
9148 unsafe {
9152 self._tab
9153 .get::<::flatbuffers::ForwardsUOffset<Expr>>(FilterOp::VT_PREDICATE, None)
9154 }
9155 }
9156 }
9157
9158 impl ::flatbuffers::Verifiable for FilterOp<'_> {
9159 #[inline]
9160 fn run_verifier(
9161 v: &mut ::flatbuffers::Verifier,
9162 pos: usize,
9163 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
9164 v.visit_table(pos)?
9165 .visit_field::<u32>("input", Self::VT_INPUT, false)?
9166 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>(
9167 "predicate",
9168 Self::VT_PREDICATE,
9169 false,
9170 )?
9171 .finish();
9172 Ok(())
9173 }
9174 }
9175 pub struct FilterOpArgs<'a> {
9176 pub input: u32,
9177 pub predicate: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
9178 }
9179 impl<'a> Default for FilterOpArgs<'a> {
9180 #[inline]
9181 fn default() -> Self {
9182 FilterOpArgs {
9183 input: 0,
9184 predicate: None,
9185 }
9186 }
9187 }
9188
9189 pub struct FilterOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
9190 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
9191 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
9192 }
9193 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> FilterOpBuilder<'a, 'b, A> {
9194 #[inline]
9195 pub fn add_input(&mut self, input: u32) {
9196 self.fbb_.push_slot::<u32>(FilterOp::VT_INPUT, input, 0);
9197 }
9198 #[inline]
9199 pub fn add_predicate(&mut self, predicate: ::flatbuffers::WIPOffset<Expr<'b>>) {
9200 self.fbb_
9201 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(
9202 FilterOp::VT_PREDICATE,
9203 predicate,
9204 );
9205 }
9206 #[inline]
9207 pub fn new(
9208 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
9209 ) -> FilterOpBuilder<'a, 'b, A> {
9210 let start = _fbb.start_table();
9211 FilterOpBuilder {
9212 fbb_: _fbb,
9213 start_: start,
9214 }
9215 }
9216 #[inline]
9217 pub fn finish(self) -> ::flatbuffers::WIPOffset<FilterOp<'a>> {
9218 let o = self.fbb_.end_table(self.start_);
9219 ::flatbuffers::WIPOffset::new(o.value())
9220 }
9221 }
9222
9223 impl ::core::fmt::Debug for FilterOp<'_> {
9224 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9225 let mut ds = f.debug_struct("FilterOp");
9226 ds.field("input", &self.input());
9227 ds.field("predicate", &self.predicate());
9228 ds.finish()
9229 }
9230 }
9231 pub enum BlockMarkerOpOffset {}
9232 #[derive(Copy, Clone, PartialEq)]
9233
9234 pub struct BlockMarkerOp<'a> {
9235 pub _tab: ::flatbuffers::Table<'a>,
9236 }
9237
9238 impl<'a> ::flatbuffers::Follow<'a> for BlockMarkerOp<'a> {
9239 type Inner = BlockMarkerOp<'a>;
9240 #[inline]
9241 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9242 Self {
9243 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
9244 }
9245 }
9246 }
9247
9248 impl<'a> BlockMarkerOp<'a> {
9249 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
9250 pub const VT_BLOCK_ID: ::flatbuffers::VOffsetT = 6;
9251 pub const VT_BRANCH_ID: ::flatbuffers::VOffsetT = 8;
9252
9253 #[inline]
9254 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
9255 BlockMarkerOp { _tab: table }
9256 }
9257 #[allow(unused_mut)]
9258 pub fn create<
9259 'bldr: 'args,
9260 'args: 'mut_bldr,
9261 'mut_bldr,
9262 A: ::flatbuffers::Allocator + 'bldr,
9263 >(
9264 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
9265 args: &'args BlockMarkerOpArgs,
9266 ) -> ::flatbuffers::WIPOffset<BlockMarkerOp<'bldr>> {
9267 let mut builder = BlockMarkerOpBuilder::new(_fbb);
9268 builder.add_branch_id(args.branch_id);
9269 builder.add_block_id(args.block_id);
9270 builder.add_input(args.input);
9271 builder.finish()
9272 }
9273
9274 #[inline]
9275 pub fn input(&self) -> u32 {
9276 unsafe {
9280 self._tab
9281 .get::<u32>(BlockMarkerOp::VT_INPUT, Some(0))
9282 .unwrap()
9283 }
9284 }
9285 #[inline]
9286 pub fn block_id(&self) -> i32 {
9287 unsafe {
9291 self._tab
9292 .get::<i32>(BlockMarkerOp::VT_BLOCK_ID, Some(0))
9293 .unwrap()
9294 }
9295 }
9296 #[inline]
9297 pub fn branch_id(&self) -> i32 {
9298 unsafe {
9302 self._tab
9303 .get::<i32>(BlockMarkerOp::VT_BRANCH_ID, Some(0))
9304 .unwrap()
9305 }
9306 }
9307 }
9308
9309 impl ::flatbuffers::Verifiable for BlockMarkerOp<'_> {
9310 #[inline]
9311 fn run_verifier(
9312 v: &mut ::flatbuffers::Verifier,
9313 pos: usize,
9314 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
9315 v.visit_table(pos)?
9316 .visit_field::<u32>("input", Self::VT_INPUT, false)?
9317 .visit_field::<i32>("block_id", Self::VT_BLOCK_ID, false)?
9318 .visit_field::<i32>("branch_id", Self::VT_BRANCH_ID, false)?
9319 .finish();
9320 Ok(())
9321 }
9322 }
9323 pub struct BlockMarkerOpArgs {
9324 pub input: u32,
9325 pub block_id: i32,
9326 pub branch_id: i32,
9327 }
9328 impl<'a> Default for BlockMarkerOpArgs {
9329 #[inline]
9330 fn default() -> Self {
9331 BlockMarkerOpArgs {
9332 input: 0,
9333 block_id: 0,
9334 branch_id: 0,
9335 }
9336 }
9337 }
9338
9339 pub struct BlockMarkerOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
9340 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
9341 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
9342 }
9343 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> BlockMarkerOpBuilder<'a, 'b, A> {
9344 #[inline]
9345 pub fn add_input(&mut self, input: u32) {
9346 self.fbb_
9347 .push_slot::<u32>(BlockMarkerOp::VT_INPUT, input, 0);
9348 }
9349 #[inline]
9350 pub fn add_block_id(&mut self, block_id: i32) {
9351 self.fbb_
9352 .push_slot::<i32>(BlockMarkerOp::VT_BLOCK_ID, block_id, 0);
9353 }
9354 #[inline]
9355 pub fn add_branch_id(&mut self, branch_id: i32) {
9356 self.fbb_
9357 .push_slot::<i32>(BlockMarkerOp::VT_BRANCH_ID, branch_id, 0);
9358 }
9359 #[inline]
9360 pub fn new(
9361 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
9362 ) -> BlockMarkerOpBuilder<'a, 'b, A> {
9363 let start = _fbb.start_table();
9364 BlockMarkerOpBuilder {
9365 fbb_: _fbb,
9366 start_: start,
9367 }
9368 }
9369 #[inline]
9370 pub fn finish(self) -> ::flatbuffers::WIPOffset<BlockMarkerOp<'a>> {
9371 let o = self.fbb_.end_table(self.start_);
9372 ::flatbuffers::WIPOffset::new(o.value())
9373 }
9374 }
9375
9376 impl ::core::fmt::Debug for BlockMarkerOp<'_> {
9377 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9378 let mut ds = f.debug_struct("BlockMarkerOp");
9379 ds.field("input", &self.input());
9380 ds.field("block_id", &self.block_id());
9381 ds.field("branch_id", &self.branch_id());
9382 ds.finish()
9383 }
9384 }
9385 pub enum ProjectOpOffset {}
9386 #[derive(Copy, Clone, PartialEq)]
9387
9388 pub struct ProjectOp<'a> {
9389 pub _tab: ::flatbuffers::Table<'a>,
9390 }
9391
9392 impl<'a> ::flatbuffers::Follow<'a> for ProjectOp<'a> {
9393 type Inner = ProjectOp<'a>;
9394 #[inline]
9395 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9396 Self {
9397 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
9398 }
9399 }
9400 }
9401
9402 impl<'a> ProjectOp<'a> {
9403 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
9404 pub const VT_EXPRS: ::flatbuffers::VOffsetT = 6;
9405 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 8;
9406
9407 #[inline]
9408 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
9409 ProjectOp { _tab: table }
9410 }
9411 #[allow(unused_mut)]
9412 pub fn create<
9413 'bldr: 'args,
9414 'args: 'mut_bldr,
9415 'mut_bldr,
9416 A: ::flatbuffers::Allocator + 'bldr,
9417 >(
9418 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
9419 args: &'args ProjectOpArgs<'args>,
9420 ) -> ::flatbuffers::WIPOffset<ProjectOp<'bldr>> {
9421 let mut builder = ProjectOpBuilder::new(_fbb);
9422 if let Some(x) = args.schema {
9423 builder.add_schema(x);
9424 }
9425 if let Some(x) = args.exprs {
9426 builder.add_exprs(x);
9427 }
9428 builder.add_input(args.input);
9429 builder.finish()
9430 }
9431
9432 #[inline]
9433 pub fn input(&self) -> u32 {
9434 unsafe { self._tab.get::<u32>(ProjectOp::VT_INPUT, Some(0)).unwrap() }
9438 }
9439 #[inline]
9440 pub fn exprs(
9441 &self,
9442 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<Expr<'a>>>> {
9443 unsafe {
9447 self._tab.get::<::flatbuffers::ForwardsUOffset<
9448 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<Expr>>,
9449 >>(ProjectOp::VT_EXPRS, None)
9450 }
9451 }
9452 #[inline]
9453 pub fn schema(
9454 &self,
9455 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
9456 unsafe {
9460 self._tab.get::<::flatbuffers::ForwardsUOffset<
9461 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
9462 >>(ProjectOp::VT_SCHEMA, None)
9463 }
9464 }
9465 }
9466
9467 impl ::flatbuffers::Verifiable for ProjectOp<'_> {
9468 #[inline]
9469 fn run_verifier(
9470 v: &mut ::flatbuffers::Verifier,
9471 pos: usize,
9472 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
9473 v.visit_table(pos)?
9474 .visit_field::<u32>("input", Self::VT_INPUT, false)?
9475 .visit_field::<::flatbuffers::ForwardsUOffset<
9476 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<Expr>>,
9477 >>("exprs", Self::VT_EXPRS, false)?
9478 .visit_field::<::flatbuffers::ForwardsUOffset<
9479 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
9480 >>("schema", Self::VT_SCHEMA, false)?
9481 .finish();
9482 Ok(())
9483 }
9484 }
9485 pub struct ProjectOpArgs<'a> {
9486 pub input: u32,
9487 pub exprs: Option<
9488 ::flatbuffers::WIPOffset<
9489 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<Expr<'a>>>,
9490 >,
9491 >,
9492 pub schema: Option<
9493 ::flatbuffers::WIPOffset<
9494 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
9495 >,
9496 >,
9497 }
9498 impl<'a> Default for ProjectOpArgs<'a> {
9499 #[inline]
9500 fn default() -> Self {
9501 ProjectOpArgs {
9502 input: 0,
9503 exprs: None,
9504 schema: None,
9505 }
9506 }
9507 }
9508
9509 pub struct ProjectOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
9510 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
9511 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
9512 }
9513 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ProjectOpBuilder<'a, 'b, A> {
9514 #[inline]
9515 pub fn add_input(&mut self, input: u32) {
9516 self.fbb_.push_slot::<u32>(ProjectOp::VT_INPUT, input, 0);
9517 }
9518 #[inline]
9519 pub fn add_exprs(
9520 &mut self,
9521 exprs: ::flatbuffers::WIPOffset<
9522 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<Expr<'b>>>,
9523 >,
9524 ) {
9525 self.fbb_
9526 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ProjectOp::VT_EXPRS, exprs);
9527 }
9528 #[inline]
9529 pub fn add_schema(
9530 &mut self,
9531 schema: ::flatbuffers::WIPOffset<
9532 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
9533 >,
9534 ) {
9535 self.fbb_
9536 .push_slot_always::<::flatbuffers::WIPOffset<_>>(ProjectOp::VT_SCHEMA, schema);
9537 }
9538 #[inline]
9539 pub fn new(
9540 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
9541 ) -> ProjectOpBuilder<'a, 'b, A> {
9542 let start = _fbb.start_table();
9543 ProjectOpBuilder {
9544 fbb_: _fbb,
9545 start_: start,
9546 }
9547 }
9548 #[inline]
9549 pub fn finish(self) -> ::flatbuffers::WIPOffset<ProjectOp<'a>> {
9550 let o = self.fbb_.end_table(self.start_);
9551 ::flatbuffers::WIPOffset::new(o.value())
9552 }
9553 }
9554
9555 impl ::core::fmt::Debug for ProjectOp<'_> {
9556 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9557 let mut ds = f.debug_struct("ProjectOp");
9558 ds.field("input", &self.input());
9559 ds.field("exprs", &self.exprs());
9560 ds.field("schema", &self.schema());
9561 ds.finish()
9562 }
9563 }
9564 pub enum AggregateOpOffset {}
9565 #[derive(Copy, Clone, PartialEq)]
9566
9567 pub struct AggregateOp<'a> {
9568 pub _tab: ::flatbuffers::Table<'a>,
9569 }
9570
9571 impl<'a> ::flatbuffers::Follow<'a> for AggregateOp<'a> {
9572 type Inner = AggregateOp<'a>;
9573 #[inline]
9574 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9575 Self {
9576 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
9577 }
9578 }
9579 }
9580
9581 impl<'a> AggregateOp<'a> {
9582 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
9583 pub const VT_KEYS: ::flatbuffers::VOffsetT = 6;
9584 pub const VT_AGGS: ::flatbuffers::VOffsetT = 8;
9585 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 10;
9586
9587 #[inline]
9588 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
9589 AggregateOp { _tab: table }
9590 }
9591 #[allow(unused_mut)]
9592 pub fn create<
9593 'bldr: 'args,
9594 'args: 'mut_bldr,
9595 'mut_bldr,
9596 A: ::flatbuffers::Allocator + 'bldr,
9597 >(
9598 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
9599 args: &'args AggregateOpArgs<'args>,
9600 ) -> ::flatbuffers::WIPOffset<AggregateOp<'bldr>> {
9601 let mut builder = AggregateOpBuilder::new(_fbb);
9602 if let Some(x) = args.schema {
9603 builder.add_schema(x);
9604 }
9605 if let Some(x) = args.aggs {
9606 builder.add_aggs(x);
9607 }
9608 if let Some(x) = args.keys {
9609 builder.add_keys(x);
9610 }
9611 builder.add_input(args.input);
9612 builder.finish()
9613 }
9614
9615 #[inline]
9616 pub fn input(&self) -> u32 {
9617 unsafe {
9621 self._tab
9622 .get::<u32>(AggregateOp::VT_INPUT, Some(0))
9623 .unwrap()
9624 }
9625 }
9626 #[inline]
9627 pub fn keys(&self) -> Option<::flatbuffers::Vector<'a, u32>> {
9628 unsafe {
9632 self._tab
9633 .get::<::flatbuffers::ForwardsUOffset<::flatbuffers::Vector<'a, u32>>>(
9634 AggregateOp::VT_KEYS,
9635 None,
9636 )
9637 }
9638 }
9639 #[inline]
9640 pub fn aggs(
9641 &self,
9642 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<Expr<'a>>>> {
9643 unsafe {
9647 self._tab.get::<::flatbuffers::ForwardsUOffset<
9648 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<Expr>>,
9649 >>(AggregateOp::VT_AGGS, None)
9650 }
9651 }
9652 #[inline]
9653 pub fn schema(
9654 &self,
9655 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
9656 unsafe {
9660 self._tab.get::<::flatbuffers::ForwardsUOffset<
9661 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
9662 >>(AggregateOp::VT_SCHEMA, None)
9663 }
9664 }
9665 }
9666
9667 impl ::flatbuffers::Verifiable for AggregateOp<'_> {
9668 #[inline]
9669 fn run_verifier(
9670 v: &mut ::flatbuffers::Verifier,
9671 pos: usize,
9672 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
9673 v.visit_table(pos)?
9674 .visit_field::<u32>("input", Self::VT_INPUT, false)?
9675 .visit_field::<::flatbuffers::ForwardsUOffset<::flatbuffers::Vector<'_, u32>>>(
9676 "keys",
9677 Self::VT_KEYS,
9678 false,
9679 )?
9680 .visit_field::<::flatbuffers::ForwardsUOffset<
9681 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<Expr>>,
9682 >>("aggs", Self::VT_AGGS, false)?
9683 .visit_field::<::flatbuffers::ForwardsUOffset<
9684 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
9685 >>("schema", Self::VT_SCHEMA, false)?
9686 .finish();
9687 Ok(())
9688 }
9689 }
9690 pub struct AggregateOpArgs<'a> {
9691 pub input: u32,
9692 pub keys: Option<::flatbuffers::WIPOffset<::flatbuffers::Vector<'a, u32>>>,
9693 pub aggs: Option<
9694 ::flatbuffers::WIPOffset<
9695 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<Expr<'a>>>,
9696 >,
9697 >,
9698 pub schema: Option<
9699 ::flatbuffers::WIPOffset<
9700 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
9701 >,
9702 >,
9703 }
9704 impl<'a> Default for AggregateOpArgs<'a> {
9705 #[inline]
9706 fn default() -> Self {
9707 AggregateOpArgs {
9708 input: 0,
9709 keys: None,
9710 aggs: None,
9711 schema: None,
9712 }
9713 }
9714 }
9715
9716 pub struct AggregateOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
9717 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
9718 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
9719 }
9720 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> AggregateOpBuilder<'a, 'b, A> {
9721 #[inline]
9722 pub fn add_input(&mut self, input: u32) {
9723 self.fbb_.push_slot::<u32>(AggregateOp::VT_INPUT, input, 0);
9724 }
9725 #[inline]
9726 pub fn add_keys(&mut self, keys: ::flatbuffers::WIPOffset<::flatbuffers::Vector<'b, u32>>) {
9727 self.fbb_
9728 .push_slot_always::<::flatbuffers::WIPOffset<_>>(AggregateOp::VT_KEYS, keys);
9729 }
9730 #[inline]
9731 pub fn add_aggs(
9732 &mut self,
9733 aggs: ::flatbuffers::WIPOffset<
9734 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<Expr<'b>>>,
9735 >,
9736 ) {
9737 self.fbb_
9738 .push_slot_always::<::flatbuffers::WIPOffset<_>>(AggregateOp::VT_AGGS, aggs);
9739 }
9740 #[inline]
9741 pub fn add_schema(
9742 &mut self,
9743 schema: ::flatbuffers::WIPOffset<
9744 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
9745 >,
9746 ) {
9747 self.fbb_
9748 .push_slot_always::<::flatbuffers::WIPOffset<_>>(AggregateOp::VT_SCHEMA, schema);
9749 }
9750 #[inline]
9751 pub fn new(
9752 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
9753 ) -> AggregateOpBuilder<'a, 'b, A> {
9754 let start = _fbb.start_table();
9755 AggregateOpBuilder {
9756 fbb_: _fbb,
9757 start_: start,
9758 }
9759 }
9760 #[inline]
9761 pub fn finish(self) -> ::flatbuffers::WIPOffset<AggregateOp<'a>> {
9762 let o = self.fbb_.end_table(self.start_);
9763 ::flatbuffers::WIPOffset::new(o.value())
9764 }
9765 }
9766
9767 impl ::core::fmt::Debug for AggregateOp<'_> {
9768 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9769 let mut ds = f.debug_struct("AggregateOp");
9770 ds.field("input", &self.input());
9771 ds.field("keys", &self.keys());
9772 ds.field("aggs", &self.aggs());
9773 ds.field("schema", &self.schema());
9774 ds.finish()
9775 }
9776 }
9777 pub enum SortOpOffset {}
9778 #[derive(Copy, Clone, PartialEq)]
9779
9780 pub struct SortOp<'a> {
9781 pub _tab: ::flatbuffers::Table<'a>,
9782 }
9783
9784 impl<'a> ::flatbuffers::Follow<'a> for SortOp<'a> {
9785 type Inner = SortOp<'a>;
9786 #[inline]
9787 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9788 Self {
9789 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
9790 }
9791 }
9792 }
9793
9794 impl<'a> SortOp<'a> {
9795 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
9796 pub const VT_KEYS: ::flatbuffers::VOffsetT = 6;
9797 pub const VT_DIRS: ::flatbuffers::VOffsetT = 8;
9798
9799 #[inline]
9800 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
9801 SortOp { _tab: table }
9802 }
9803 #[allow(unused_mut)]
9804 pub fn create<
9805 'bldr: 'args,
9806 'args: 'mut_bldr,
9807 'mut_bldr,
9808 A: ::flatbuffers::Allocator + 'bldr,
9809 >(
9810 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
9811 args: &'args SortOpArgs<'args>,
9812 ) -> ::flatbuffers::WIPOffset<SortOp<'bldr>> {
9813 let mut builder = SortOpBuilder::new(_fbb);
9814 if let Some(x) = args.dirs {
9815 builder.add_dirs(x);
9816 }
9817 if let Some(x) = args.keys {
9818 builder.add_keys(x);
9819 }
9820 builder.add_input(args.input);
9821 builder.finish()
9822 }
9823
9824 #[inline]
9825 pub fn input(&self) -> u32 {
9826 unsafe { self._tab.get::<u32>(SortOp::VT_INPUT, Some(0)).unwrap() }
9830 }
9831 #[inline]
9832 pub fn keys(&self) -> Option<::flatbuffers::Vector<'a, u32>> {
9833 unsafe {
9837 self._tab
9838 .get::<::flatbuffers::ForwardsUOffset<::flatbuffers::Vector<'a, u32>>>(
9839 SortOp::VT_KEYS,
9840 None,
9841 )
9842 }
9843 }
9844 #[inline]
9845 pub fn dirs(&self) -> Option<::flatbuffers::Vector<'a, SortDir>> {
9846 unsafe {
9850 self._tab
9851 .get::<::flatbuffers::ForwardsUOffset<::flatbuffers::Vector<'a, SortDir>>>(
9852 SortOp::VT_DIRS,
9853 None,
9854 )
9855 }
9856 }
9857 }
9858
9859 impl ::flatbuffers::Verifiable for SortOp<'_> {
9860 #[inline]
9861 fn run_verifier(
9862 v: &mut ::flatbuffers::Verifier,
9863 pos: usize,
9864 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
9865 v.visit_table(pos)?
9866 .visit_field::<u32>("input", Self::VT_INPUT, false)?
9867 .visit_field::<::flatbuffers::ForwardsUOffset<::flatbuffers::Vector<'_, u32>>>(
9868 "keys",
9869 Self::VT_KEYS,
9870 false,
9871 )?
9872 .visit_field::<::flatbuffers::ForwardsUOffset<::flatbuffers::Vector<'_, SortDir>>>(
9873 "dirs",
9874 Self::VT_DIRS,
9875 false,
9876 )?
9877 .finish();
9878 Ok(())
9879 }
9880 }
9881 pub struct SortOpArgs<'a> {
9882 pub input: u32,
9883 pub keys: Option<::flatbuffers::WIPOffset<::flatbuffers::Vector<'a, u32>>>,
9884 pub dirs: Option<::flatbuffers::WIPOffset<::flatbuffers::Vector<'a, SortDir>>>,
9885 }
9886 impl<'a> Default for SortOpArgs<'a> {
9887 #[inline]
9888 fn default() -> Self {
9889 SortOpArgs {
9890 input: 0,
9891 keys: None,
9892 dirs: None,
9893 }
9894 }
9895 }
9896
9897 pub struct SortOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
9898 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
9899 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
9900 }
9901 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> SortOpBuilder<'a, 'b, A> {
9902 #[inline]
9903 pub fn add_input(&mut self, input: u32) {
9904 self.fbb_.push_slot::<u32>(SortOp::VT_INPUT, input, 0);
9905 }
9906 #[inline]
9907 pub fn add_keys(&mut self, keys: ::flatbuffers::WIPOffset<::flatbuffers::Vector<'b, u32>>) {
9908 self.fbb_
9909 .push_slot_always::<::flatbuffers::WIPOffset<_>>(SortOp::VT_KEYS, keys);
9910 }
9911 #[inline]
9912 pub fn add_dirs(
9913 &mut self,
9914 dirs: ::flatbuffers::WIPOffset<::flatbuffers::Vector<'b, SortDir>>,
9915 ) {
9916 self.fbb_
9917 .push_slot_always::<::flatbuffers::WIPOffset<_>>(SortOp::VT_DIRS, dirs);
9918 }
9919 #[inline]
9920 pub fn new(
9921 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
9922 ) -> SortOpBuilder<'a, 'b, A> {
9923 let start = _fbb.start_table();
9924 SortOpBuilder {
9925 fbb_: _fbb,
9926 start_: start,
9927 }
9928 }
9929 #[inline]
9930 pub fn finish(self) -> ::flatbuffers::WIPOffset<SortOp<'a>> {
9931 let o = self.fbb_.end_table(self.start_);
9932 ::flatbuffers::WIPOffset::new(o.value())
9933 }
9934 }
9935
9936 impl ::core::fmt::Debug for SortOp<'_> {
9937 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9938 let mut ds = f.debug_struct("SortOp");
9939 ds.field("input", &self.input());
9940 ds.field("keys", &self.keys());
9941 ds.field("dirs", &self.dirs());
9942 ds.finish()
9943 }
9944 }
9945 pub enum LimitOpOffset {}
9946 #[derive(Copy, Clone, PartialEq)]
9947
9948 pub struct LimitOp<'a> {
9949 pub _tab: ::flatbuffers::Table<'a>,
9950 }
9951
9952 impl<'a> ::flatbuffers::Follow<'a> for LimitOp<'a> {
9953 type Inner = LimitOp<'a>;
9954 #[inline]
9955 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9956 Self {
9957 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
9958 }
9959 }
9960 }
9961
9962 impl<'a> LimitOp<'a> {
9963 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
9964 pub const VT_COUNT: ::flatbuffers::VOffsetT = 6;
9965 pub const VT_SKIP: ::flatbuffers::VOffsetT = 8;
9966
9967 #[inline]
9968 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
9969 LimitOp { _tab: table }
9970 }
9971 #[allow(unused_mut)]
9972 pub fn create<
9973 'bldr: 'args,
9974 'args: 'mut_bldr,
9975 'mut_bldr,
9976 A: ::flatbuffers::Allocator + 'bldr,
9977 >(
9978 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
9979 args: &'args LimitOpArgs,
9980 ) -> ::flatbuffers::WIPOffset<LimitOp<'bldr>> {
9981 let mut builder = LimitOpBuilder::new(_fbb);
9982 builder.add_skip(args.skip);
9983 builder.add_count(args.count);
9984 builder.add_input(args.input);
9985 builder.finish()
9986 }
9987
9988 #[inline]
9989 pub fn input(&self) -> u32 {
9990 unsafe { self._tab.get::<u32>(LimitOp::VT_INPUT, Some(0)).unwrap() }
9994 }
9995 #[inline]
9996 pub fn count(&self) -> i64 {
9997 unsafe { self._tab.get::<i64>(LimitOp::VT_COUNT, Some(-1)).unwrap() }
10001 }
10002 #[inline]
10003 pub fn skip(&self) -> i64 {
10004 unsafe { self._tab.get::<i64>(LimitOp::VT_SKIP, Some(0)).unwrap() }
10008 }
10009 }
10010
10011 impl ::flatbuffers::Verifiable for LimitOp<'_> {
10012 #[inline]
10013 fn run_verifier(
10014 v: &mut ::flatbuffers::Verifier,
10015 pos: usize,
10016 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
10017 v.visit_table(pos)?
10018 .visit_field::<u32>("input", Self::VT_INPUT, false)?
10019 .visit_field::<i64>("count", Self::VT_COUNT, false)?
10020 .visit_field::<i64>("skip", Self::VT_SKIP, false)?
10021 .finish();
10022 Ok(())
10023 }
10024 }
10025 pub struct LimitOpArgs {
10026 pub input: u32,
10027 pub count: i64,
10028 pub skip: i64,
10029 }
10030 impl<'a> Default for LimitOpArgs {
10031 #[inline]
10032 fn default() -> Self {
10033 LimitOpArgs {
10034 input: 0,
10035 count: -1,
10036 skip: 0,
10037 }
10038 }
10039 }
10040
10041 pub struct LimitOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
10042 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
10043 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
10044 }
10045 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> LimitOpBuilder<'a, 'b, A> {
10046 #[inline]
10047 pub fn add_input(&mut self, input: u32) {
10048 self.fbb_.push_slot::<u32>(LimitOp::VT_INPUT, input, 0);
10049 }
10050 #[inline]
10051 pub fn add_count(&mut self, count: i64) {
10052 self.fbb_.push_slot::<i64>(LimitOp::VT_COUNT, count, -1);
10053 }
10054 #[inline]
10055 pub fn add_skip(&mut self, skip: i64) {
10056 self.fbb_.push_slot::<i64>(LimitOp::VT_SKIP, skip, 0);
10057 }
10058 #[inline]
10059 pub fn new(
10060 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
10061 ) -> LimitOpBuilder<'a, 'b, A> {
10062 let start = _fbb.start_table();
10063 LimitOpBuilder {
10064 fbb_: _fbb,
10065 start_: start,
10066 }
10067 }
10068 #[inline]
10069 pub fn finish(self) -> ::flatbuffers::WIPOffset<LimitOp<'a>> {
10070 let o = self.fbb_.end_table(self.start_);
10071 ::flatbuffers::WIPOffset::new(o.value())
10072 }
10073 }
10074
10075 impl ::core::fmt::Debug for LimitOp<'_> {
10076 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10077 let mut ds = f.debug_struct("LimitOp");
10078 ds.field("input", &self.input());
10079 ds.field("count", &self.count());
10080 ds.field("skip", &self.skip());
10081 ds.finish()
10082 }
10083 }
10084 pub enum UnwindOpOffset {}
10085 #[derive(Copy, Clone, PartialEq)]
10086
10087 pub struct UnwindOp<'a> {
10088 pub _tab: ::flatbuffers::Table<'a>,
10089 }
10090
10091 impl<'a> ::flatbuffers::Follow<'a> for UnwindOp<'a> {
10092 type Inner = UnwindOp<'a>;
10093 #[inline]
10094 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10095 Self {
10096 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
10097 }
10098 }
10099 }
10100
10101 impl<'a> UnwindOp<'a> {
10102 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
10103 pub const VT_LIST_EXPR: ::flatbuffers::VOffsetT = 6;
10104 pub const VT_OUT_VAR: ::flatbuffers::VOffsetT = 8;
10105 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 10;
10106
10107 #[inline]
10108 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
10109 UnwindOp { _tab: table }
10110 }
10111 #[allow(unused_mut)]
10112 pub fn create<
10113 'bldr: 'args,
10114 'args: 'mut_bldr,
10115 'mut_bldr,
10116 A: ::flatbuffers::Allocator + 'bldr,
10117 >(
10118 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
10119 args: &'args UnwindOpArgs<'args>,
10120 ) -> ::flatbuffers::WIPOffset<UnwindOp<'bldr>> {
10121 let mut builder = UnwindOpBuilder::new(_fbb);
10122 if let Some(x) = args.schema {
10123 builder.add_schema(x);
10124 }
10125 if let Some(x) = args.out_var {
10126 builder.add_out_var(x);
10127 }
10128 if let Some(x) = args.list_expr {
10129 builder.add_list_expr(x);
10130 }
10131 builder.add_input(args.input);
10132 builder.finish()
10133 }
10134
10135 #[inline]
10136 pub fn input(&self) -> u32 {
10137 unsafe { self._tab.get::<u32>(UnwindOp::VT_INPUT, Some(0)).unwrap() }
10141 }
10142 #[inline]
10143 pub fn list_expr(&self) -> Option<Expr<'a>> {
10144 unsafe {
10148 self._tab
10149 .get::<::flatbuffers::ForwardsUOffset<Expr>>(UnwindOp::VT_LIST_EXPR, None)
10150 }
10151 }
10152 #[inline]
10153 pub fn out_var(&self) -> Option<&'a str> {
10154 unsafe {
10158 self._tab
10159 .get::<::flatbuffers::ForwardsUOffset<&str>>(UnwindOp::VT_OUT_VAR, None)
10160 }
10161 }
10162 #[inline]
10163 pub fn schema(
10164 &self,
10165 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
10166 unsafe {
10170 self._tab.get::<::flatbuffers::ForwardsUOffset<
10171 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
10172 >>(UnwindOp::VT_SCHEMA, None)
10173 }
10174 }
10175 }
10176
10177 impl ::flatbuffers::Verifiable for UnwindOp<'_> {
10178 #[inline]
10179 fn run_verifier(
10180 v: &mut ::flatbuffers::Verifier,
10181 pos: usize,
10182 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
10183 v.visit_table(pos)?
10184 .visit_field::<u32>("input", Self::VT_INPUT, false)?
10185 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>(
10186 "list_expr",
10187 Self::VT_LIST_EXPR,
10188 false,
10189 )?
10190 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
10191 "out_var",
10192 Self::VT_OUT_VAR,
10193 false,
10194 )?
10195 .visit_field::<::flatbuffers::ForwardsUOffset<
10196 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
10197 >>("schema", Self::VT_SCHEMA, false)?
10198 .finish();
10199 Ok(())
10200 }
10201 }
10202 pub struct UnwindOpArgs<'a> {
10203 pub input: u32,
10204 pub list_expr: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
10205 pub out_var: Option<::flatbuffers::WIPOffset<&'a str>>,
10206 pub schema: Option<
10207 ::flatbuffers::WIPOffset<
10208 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
10209 >,
10210 >,
10211 }
10212 impl<'a> Default for UnwindOpArgs<'a> {
10213 #[inline]
10214 fn default() -> Self {
10215 UnwindOpArgs {
10216 input: 0,
10217 list_expr: None,
10218 out_var: None,
10219 schema: None,
10220 }
10221 }
10222 }
10223
10224 pub struct UnwindOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
10225 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
10226 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
10227 }
10228 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> UnwindOpBuilder<'a, 'b, A> {
10229 #[inline]
10230 pub fn add_input(&mut self, input: u32) {
10231 self.fbb_.push_slot::<u32>(UnwindOp::VT_INPUT, input, 0);
10232 }
10233 #[inline]
10234 pub fn add_list_expr(&mut self, list_expr: ::flatbuffers::WIPOffset<Expr<'b>>) {
10235 self.fbb_
10236 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(
10237 UnwindOp::VT_LIST_EXPR,
10238 list_expr,
10239 );
10240 }
10241 #[inline]
10242 pub fn add_out_var(&mut self, out_var: ::flatbuffers::WIPOffset<&'b str>) {
10243 self.fbb_
10244 .push_slot_always::<::flatbuffers::WIPOffset<_>>(UnwindOp::VT_OUT_VAR, out_var);
10245 }
10246 #[inline]
10247 pub fn add_schema(
10248 &mut self,
10249 schema: ::flatbuffers::WIPOffset<
10250 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
10251 >,
10252 ) {
10253 self.fbb_
10254 .push_slot_always::<::flatbuffers::WIPOffset<_>>(UnwindOp::VT_SCHEMA, schema);
10255 }
10256 #[inline]
10257 pub fn new(
10258 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
10259 ) -> UnwindOpBuilder<'a, 'b, A> {
10260 let start = _fbb.start_table();
10261 UnwindOpBuilder {
10262 fbb_: _fbb,
10263 start_: start,
10264 }
10265 }
10266 #[inline]
10267 pub fn finish(self) -> ::flatbuffers::WIPOffset<UnwindOp<'a>> {
10268 let o = self.fbb_.end_table(self.start_);
10269 ::flatbuffers::WIPOffset::new(o.value())
10270 }
10271 }
10272
10273 impl ::core::fmt::Debug for UnwindOp<'_> {
10274 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10275 let mut ds = f.debug_struct("UnwindOp");
10276 ds.field("input", &self.input());
10277 ds.field("list_expr", &self.list_expr());
10278 ds.field("out_var", &self.out_var());
10279 ds.field("schema", &self.schema());
10280 ds.finish()
10281 }
10282 }
10283 pub enum PathConstructOpOffset {}
10284 #[derive(Copy, Clone, PartialEq)]
10285
10286 pub struct PathConstructOp<'a> {
10287 pub _tab: ::flatbuffers::Table<'a>,
10288 }
10289
10290 impl<'a> ::flatbuffers::Follow<'a> for PathConstructOp<'a> {
10291 type Inner = PathConstructOp<'a>;
10292 #[inline]
10293 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10294 Self {
10295 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
10296 }
10297 }
10298 }
10299
10300 impl<'a> PathConstructOp<'a> {
10301 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
10302 pub const VT_REL_COLS: ::flatbuffers::VOffsetT = 6;
10303 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 8;
10304
10305 #[inline]
10306 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
10307 PathConstructOp { _tab: table }
10308 }
10309 #[allow(unused_mut)]
10310 pub fn create<
10311 'bldr: 'args,
10312 'args: 'mut_bldr,
10313 'mut_bldr,
10314 A: ::flatbuffers::Allocator + 'bldr,
10315 >(
10316 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
10317 args: &'args PathConstructOpArgs<'args>,
10318 ) -> ::flatbuffers::WIPOffset<PathConstructOp<'bldr>> {
10319 let mut builder = PathConstructOpBuilder::new(_fbb);
10320 if let Some(x) = args.schema {
10321 builder.add_schema(x);
10322 }
10323 if let Some(x) = args.rel_cols {
10324 builder.add_rel_cols(x);
10325 }
10326 builder.add_input(args.input);
10327 builder.finish()
10328 }
10329
10330 #[inline]
10331 pub fn input(&self) -> u32 {
10332 unsafe {
10336 self._tab
10337 .get::<u32>(PathConstructOp::VT_INPUT, Some(0))
10338 .unwrap()
10339 }
10340 }
10341 #[inline]
10342 pub fn rel_cols(&self) -> Option<::flatbuffers::Vector<'a, u32>> {
10343 unsafe {
10347 self._tab
10348 .get::<::flatbuffers::ForwardsUOffset<::flatbuffers::Vector<'a, u32>>>(
10349 PathConstructOp::VT_REL_COLS,
10350 None,
10351 )
10352 }
10353 }
10354 #[inline]
10355 pub fn schema(
10356 &self,
10357 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
10358 unsafe {
10362 self._tab.get::<::flatbuffers::ForwardsUOffset<
10363 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
10364 >>(PathConstructOp::VT_SCHEMA, None)
10365 }
10366 }
10367 }
10368
10369 impl ::flatbuffers::Verifiable for PathConstructOp<'_> {
10370 #[inline]
10371 fn run_verifier(
10372 v: &mut ::flatbuffers::Verifier,
10373 pos: usize,
10374 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
10375 v.visit_table(pos)?
10376 .visit_field::<u32>("input", Self::VT_INPUT, false)?
10377 .visit_field::<::flatbuffers::ForwardsUOffset<::flatbuffers::Vector<'_, u32>>>(
10378 "rel_cols",
10379 Self::VT_REL_COLS,
10380 false,
10381 )?
10382 .visit_field::<::flatbuffers::ForwardsUOffset<
10383 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
10384 >>("schema", Self::VT_SCHEMA, false)?
10385 .finish();
10386 Ok(())
10387 }
10388 }
10389 pub struct PathConstructOpArgs<'a> {
10390 pub input: u32,
10391 pub rel_cols: Option<::flatbuffers::WIPOffset<::flatbuffers::Vector<'a, u32>>>,
10392 pub schema: Option<
10393 ::flatbuffers::WIPOffset<
10394 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
10395 >,
10396 >,
10397 }
10398 impl<'a> Default for PathConstructOpArgs<'a> {
10399 #[inline]
10400 fn default() -> Self {
10401 PathConstructOpArgs {
10402 input: 0,
10403 rel_cols: None,
10404 schema: None,
10405 }
10406 }
10407 }
10408
10409 pub struct PathConstructOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
10410 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
10411 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
10412 }
10413 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> PathConstructOpBuilder<'a, 'b, A> {
10414 #[inline]
10415 pub fn add_input(&mut self, input: u32) {
10416 self.fbb_
10417 .push_slot::<u32>(PathConstructOp::VT_INPUT, input, 0);
10418 }
10419 #[inline]
10420 pub fn add_rel_cols(
10421 &mut self,
10422 rel_cols: ::flatbuffers::WIPOffset<::flatbuffers::Vector<'b, u32>>,
10423 ) {
10424 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
10425 PathConstructOp::VT_REL_COLS,
10426 rel_cols,
10427 );
10428 }
10429 #[inline]
10430 pub fn add_schema(
10431 &mut self,
10432 schema: ::flatbuffers::WIPOffset<
10433 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
10434 >,
10435 ) {
10436 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
10437 PathConstructOp::VT_SCHEMA,
10438 schema,
10439 );
10440 }
10441 #[inline]
10442 pub fn new(
10443 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
10444 ) -> PathConstructOpBuilder<'a, 'b, A> {
10445 let start = _fbb.start_table();
10446 PathConstructOpBuilder {
10447 fbb_: _fbb,
10448 start_: start,
10449 }
10450 }
10451 #[inline]
10452 pub fn finish(self) -> ::flatbuffers::WIPOffset<PathConstructOp<'a>> {
10453 let o = self.fbb_.end_table(self.start_);
10454 ::flatbuffers::WIPOffset::new(o.value())
10455 }
10456 }
10457
10458 impl ::core::fmt::Debug for PathConstructOp<'_> {
10459 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10460 let mut ds = f.debug_struct("PathConstructOp");
10461 ds.field("input", &self.input());
10462 ds.field("rel_cols", &self.rel_cols());
10463 ds.field("schema", &self.schema());
10464 ds.finish()
10465 }
10466 }
10467 pub enum UnionOpOffset {}
10468 #[derive(Copy, Clone, PartialEq)]
10469
10470 pub struct UnionOp<'a> {
10471 pub _tab: ::flatbuffers::Table<'a>,
10472 }
10473
10474 impl<'a> ::flatbuffers::Follow<'a> for UnionOp<'a> {
10475 type Inner = UnionOp<'a>;
10476 #[inline]
10477 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10478 Self {
10479 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
10480 }
10481 }
10482 }
10483
10484 impl<'a> UnionOp<'a> {
10485 pub const VT_LHS: ::flatbuffers::VOffsetT = 4;
10486 pub const VT_RHS: ::flatbuffers::VOffsetT = 6;
10487 pub const VT_ALL: ::flatbuffers::VOffsetT = 8;
10488 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 10;
10489
10490 #[inline]
10491 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
10492 UnionOp { _tab: table }
10493 }
10494 #[allow(unused_mut)]
10495 pub fn create<
10496 'bldr: 'args,
10497 'args: 'mut_bldr,
10498 'mut_bldr,
10499 A: ::flatbuffers::Allocator + 'bldr,
10500 >(
10501 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
10502 args: &'args UnionOpArgs<'args>,
10503 ) -> ::flatbuffers::WIPOffset<UnionOp<'bldr>> {
10504 let mut builder = UnionOpBuilder::new(_fbb);
10505 if let Some(x) = args.schema {
10506 builder.add_schema(x);
10507 }
10508 builder.add_rhs(args.rhs);
10509 builder.add_lhs(args.lhs);
10510 builder.add_all(args.all);
10511 builder.finish()
10512 }
10513
10514 #[inline]
10515 pub fn lhs(&self) -> u32 {
10516 unsafe { self._tab.get::<u32>(UnionOp::VT_LHS, Some(0)).unwrap() }
10520 }
10521 #[inline]
10522 pub fn rhs(&self) -> u32 {
10523 unsafe { self._tab.get::<u32>(UnionOp::VT_RHS, Some(0)).unwrap() }
10527 }
10528 #[inline]
10529 pub fn all(&self) -> bool {
10530 unsafe { self._tab.get::<bool>(UnionOp::VT_ALL, Some(false)).unwrap() }
10534 }
10535 #[inline]
10536 pub fn schema(
10537 &self,
10538 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
10539 unsafe {
10543 self._tab.get::<::flatbuffers::ForwardsUOffset<
10544 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
10545 >>(UnionOp::VT_SCHEMA, None)
10546 }
10547 }
10548 }
10549
10550 impl ::flatbuffers::Verifiable for UnionOp<'_> {
10551 #[inline]
10552 fn run_verifier(
10553 v: &mut ::flatbuffers::Verifier,
10554 pos: usize,
10555 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
10556 v.visit_table(pos)?
10557 .visit_field::<u32>("lhs", Self::VT_LHS, false)?
10558 .visit_field::<u32>("rhs", Self::VT_RHS, false)?
10559 .visit_field::<bool>("all", Self::VT_ALL, false)?
10560 .visit_field::<::flatbuffers::ForwardsUOffset<
10561 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
10562 >>("schema", Self::VT_SCHEMA, false)?
10563 .finish();
10564 Ok(())
10565 }
10566 }
10567 pub struct UnionOpArgs<'a> {
10568 pub lhs: u32,
10569 pub rhs: u32,
10570 pub all: bool,
10571 pub schema: Option<
10572 ::flatbuffers::WIPOffset<
10573 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
10574 >,
10575 >,
10576 }
10577 impl<'a> Default for UnionOpArgs<'a> {
10578 #[inline]
10579 fn default() -> Self {
10580 UnionOpArgs {
10581 lhs: 0,
10582 rhs: 0,
10583 all: false,
10584 schema: None,
10585 }
10586 }
10587 }
10588
10589 pub struct UnionOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
10590 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
10591 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
10592 }
10593 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> UnionOpBuilder<'a, 'b, A> {
10594 #[inline]
10595 pub fn add_lhs(&mut self, lhs: u32) {
10596 self.fbb_.push_slot::<u32>(UnionOp::VT_LHS, lhs, 0);
10597 }
10598 #[inline]
10599 pub fn add_rhs(&mut self, rhs: u32) {
10600 self.fbb_.push_slot::<u32>(UnionOp::VT_RHS, rhs, 0);
10601 }
10602 #[inline]
10603 pub fn add_all(&mut self, all: bool) {
10604 self.fbb_.push_slot::<bool>(UnionOp::VT_ALL, all, false);
10605 }
10606 #[inline]
10607 pub fn add_schema(
10608 &mut self,
10609 schema: ::flatbuffers::WIPOffset<
10610 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
10611 >,
10612 ) {
10613 self.fbb_
10614 .push_slot_always::<::flatbuffers::WIPOffset<_>>(UnionOp::VT_SCHEMA, schema);
10615 }
10616 #[inline]
10617 pub fn new(
10618 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
10619 ) -> UnionOpBuilder<'a, 'b, A> {
10620 let start = _fbb.start_table();
10621 UnionOpBuilder {
10622 fbb_: _fbb,
10623 start_: start,
10624 }
10625 }
10626 #[inline]
10627 pub fn finish(self) -> ::flatbuffers::WIPOffset<UnionOp<'a>> {
10628 let o = self.fbb_.end_table(self.start_);
10629 ::flatbuffers::WIPOffset::new(o.value())
10630 }
10631 }
10632
10633 impl ::core::fmt::Debug for UnionOp<'_> {
10634 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10635 let mut ds = f.debug_struct("UnionOp");
10636 ds.field("lhs", &self.lhs());
10637 ds.field("rhs", &self.rhs());
10638 ds.field("all", &self.all());
10639 ds.field("schema", &self.schema());
10640 ds.finish()
10641 }
10642 }
10643 pub enum CreateNodeOpOffset {}
10644 #[derive(Copy, Clone, PartialEq)]
10645
10646 pub struct CreateNodeOp<'a> {
10647 pub _tab: ::flatbuffers::Table<'a>,
10648 }
10649
10650 impl<'a> ::flatbuffers::Follow<'a> for CreateNodeOp<'a> {
10651 type Inner = CreateNodeOp<'a>;
10652 #[inline]
10653 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10654 Self {
10655 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
10656 }
10657 }
10658 }
10659
10660 impl<'a> CreateNodeOp<'a> {
10661 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
10662 pub const VT_LABELS: ::flatbuffers::VOffsetT = 6;
10663 pub const VT_PROPS: ::flatbuffers::VOffsetT = 8;
10664 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 10;
10665 pub const VT_OUT_VAR: ::flatbuffers::VOffsetT = 12;
10666
10667 #[inline]
10668 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
10669 CreateNodeOp { _tab: table }
10670 }
10671 #[allow(unused_mut)]
10672 pub fn create<
10673 'bldr: 'args,
10674 'args: 'mut_bldr,
10675 'mut_bldr,
10676 A: ::flatbuffers::Allocator + 'bldr,
10677 >(
10678 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
10679 args: &'args CreateNodeOpArgs<'args>,
10680 ) -> ::flatbuffers::WIPOffset<CreateNodeOp<'bldr>> {
10681 let mut builder = CreateNodeOpBuilder::new(_fbb);
10682 if let Some(x) = args.out_var {
10683 builder.add_out_var(x);
10684 }
10685 if let Some(x) = args.schema {
10686 builder.add_schema(x);
10687 }
10688 if let Some(x) = args.props {
10689 builder.add_props(x);
10690 }
10691 if let Some(x) = args.labels {
10692 builder.add_labels(x);
10693 }
10694 builder.add_input(args.input);
10695 builder.finish()
10696 }
10697
10698 #[inline]
10699 pub fn input(&self) -> u32 {
10700 unsafe {
10704 self._tab
10705 .get::<u32>(CreateNodeOp::VT_INPUT, Some(0))
10706 .unwrap()
10707 }
10708 }
10709 #[inline]
10710 pub fn labels(
10711 &self,
10712 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>> {
10713 unsafe {
10717 self._tab.get::<::flatbuffers::ForwardsUOffset<
10718 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
10719 >>(CreateNodeOp::VT_LABELS, None)
10720 }
10721 }
10722 #[inline]
10723 pub fn props(&self) -> Option<Expr<'a>> {
10724 unsafe {
10728 self._tab
10729 .get::<::flatbuffers::ForwardsUOffset<Expr>>(CreateNodeOp::VT_PROPS, None)
10730 }
10731 }
10732 #[inline]
10733 pub fn schema(
10734 &self,
10735 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
10736 unsafe {
10740 self._tab.get::<::flatbuffers::ForwardsUOffset<
10741 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
10742 >>(CreateNodeOp::VT_SCHEMA, None)
10743 }
10744 }
10745 #[inline]
10746 pub fn out_var(&self) -> Option<&'a str> {
10747 unsafe {
10751 self._tab
10752 .get::<::flatbuffers::ForwardsUOffset<&str>>(CreateNodeOp::VT_OUT_VAR, None)
10753 }
10754 }
10755 }
10756
10757 impl ::flatbuffers::Verifiable for CreateNodeOp<'_> {
10758 #[inline]
10759 fn run_verifier(
10760 v: &mut ::flatbuffers::Verifier,
10761 pos: usize,
10762 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
10763 v.visit_table(pos)?
10764 .visit_field::<u32>("input", Self::VT_INPUT, false)?
10765 .visit_field::<::flatbuffers::ForwardsUOffset<
10766 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<&'_ str>>,
10767 >>("labels", Self::VT_LABELS, false)?
10768 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>(
10769 "props",
10770 Self::VT_PROPS,
10771 false,
10772 )?
10773 .visit_field::<::flatbuffers::ForwardsUOffset<
10774 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
10775 >>("schema", Self::VT_SCHEMA, false)?
10776 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
10777 "out_var",
10778 Self::VT_OUT_VAR,
10779 false,
10780 )?
10781 .finish();
10782 Ok(())
10783 }
10784 }
10785 pub struct CreateNodeOpArgs<'a> {
10786 pub input: u32,
10787 pub labels: Option<
10788 ::flatbuffers::WIPOffset<
10789 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<&'a str>>,
10790 >,
10791 >,
10792 pub props: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
10793 pub schema: Option<
10794 ::flatbuffers::WIPOffset<
10795 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
10796 >,
10797 >,
10798 pub out_var: Option<::flatbuffers::WIPOffset<&'a str>>,
10799 }
10800 impl<'a> Default for CreateNodeOpArgs<'a> {
10801 #[inline]
10802 fn default() -> Self {
10803 CreateNodeOpArgs {
10804 input: 0,
10805 labels: None,
10806 props: None,
10807 schema: None,
10808 out_var: None,
10809 }
10810 }
10811 }
10812
10813 pub struct CreateNodeOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
10814 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
10815 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
10816 }
10817 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> CreateNodeOpBuilder<'a, 'b, A> {
10818 #[inline]
10819 pub fn add_input(&mut self, input: u32) {
10820 self.fbb_.push_slot::<u32>(CreateNodeOp::VT_INPUT, input, 0);
10821 }
10822 #[inline]
10823 pub fn add_labels(
10824 &mut self,
10825 labels: ::flatbuffers::WIPOffset<
10826 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<&'b str>>,
10827 >,
10828 ) {
10829 self.fbb_
10830 .push_slot_always::<::flatbuffers::WIPOffset<_>>(CreateNodeOp::VT_LABELS, labels);
10831 }
10832 #[inline]
10833 pub fn add_props(&mut self, props: ::flatbuffers::WIPOffset<Expr<'b>>) {
10834 self.fbb_
10835 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(CreateNodeOp::VT_PROPS, props);
10836 }
10837 #[inline]
10838 pub fn add_schema(
10839 &mut self,
10840 schema: ::flatbuffers::WIPOffset<
10841 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
10842 >,
10843 ) {
10844 self.fbb_
10845 .push_slot_always::<::flatbuffers::WIPOffset<_>>(CreateNodeOp::VT_SCHEMA, schema);
10846 }
10847 #[inline]
10848 pub fn add_out_var(&mut self, out_var: ::flatbuffers::WIPOffset<&'b str>) {
10849 self.fbb_
10850 .push_slot_always::<::flatbuffers::WIPOffset<_>>(CreateNodeOp::VT_OUT_VAR, out_var);
10851 }
10852 #[inline]
10853 pub fn new(
10854 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
10855 ) -> CreateNodeOpBuilder<'a, 'b, A> {
10856 let start = _fbb.start_table();
10857 CreateNodeOpBuilder {
10858 fbb_: _fbb,
10859 start_: start,
10860 }
10861 }
10862 #[inline]
10863 pub fn finish(self) -> ::flatbuffers::WIPOffset<CreateNodeOp<'a>> {
10864 let o = self.fbb_.end_table(self.start_);
10865 ::flatbuffers::WIPOffset::new(o.value())
10866 }
10867 }
10868
10869 impl ::core::fmt::Debug for CreateNodeOp<'_> {
10870 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10871 let mut ds = f.debug_struct("CreateNodeOp");
10872 ds.field("input", &self.input());
10873 ds.field("labels", &self.labels());
10874 ds.field("props", &self.props());
10875 ds.field("schema", &self.schema());
10876 ds.field("out_var", &self.out_var());
10877 ds.finish()
10878 }
10879 }
10880 pub enum CreateRelOpOffset {}
10881 #[derive(Copy, Clone, PartialEq)]
10882
10883 pub struct CreateRelOp<'a> {
10884 pub _tab: ::flatbuffers::Table<'a>,
10885 }
10886
10887 impl<'a> ::flatbuffers::Follow<'a> for CreateRelOp<'a> {
10888 type Inner = CreateRelOp<'a>;
10889 #[inline]
10890 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10891 Self {
10892 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
10893 }
10894 }
10895 }
10896
10897 impl<'a> CreateRelOp<'a> {
10898 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
10899 pub const VT_SRC_COL: ::flatbuffers::VOffsetT = 6;
10900 pub const VT_DST_COL: ::flatbuffers::VOffsetT = 8;
10901 pub const VT_REL_TYPE: ::flatbuffers::VOffsetT = 10;
10902 pub const VT_PROPS: ::flatbuffers::VOffsetT = 12;
10903 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 14;
10904 pub const VT_OUT_VAR: ::flatbuffers::VOffsetT = 16;
10905
10906 #[inline]
10907 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
10908 CreateRelOp { _tab: table }
10909 }
10910 #[allow(unused_mut)]
10911 pub fn create<
10912 'bldr: 'args,
10913 'args: 'mut_bldr,
10914 'mut_bldr,
10915 A: ::flatbuffers::Allocator + 'bldr,
10916 >(
10917 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
10918 args: &'args CreateRelOpArgs<'args>,
10919 ) -> ::flatbuffers::WIPOffset<CreateRelOp<'bldr>> {
10920 let mut builder = CreateRelOpBuilder::new(_fbb);
10921 if let Some(x) = args.out_var {
10922 builder.add_out_var(x);
10923 }
10924 if let Some(x) = args.schema {
10925 builder.add_schema(x);
10926 }
10927 if let Some(x) = args.props {
10928 builder.add_props(x);
10929 }
10930 if let Some(x) = args.rel_type {
10931 builder.add_rel_type(x);
10932 }
10933 builder.add_dst_col(args.dst_col);
10934 builder.add_src_col(args.src_col);
10935 builder.add_input(args.input);
10936 builder.finish()
10937 }
10938
10939 #[inline]
10940 pub fn input(&self) -> u32 {
10941 unsafe {
10945 self._tab
10946 .get::<u32>(CreateRelOp::VT_INPUT, Some(0))
10947 .unwrap()
10948 }
10949 }
10950 #[inline]
10951 pub fn src_col(&self) -> i32 {
10952 unsafe {
10956 self._tab
10957 .get::<i32>(CreateRelOp::VT_SRC_COL, Some(0))
10958 .unwrap()
10959 }
10960 }
10961 #[inline]
10962 pub fn dst_col(&self) -> i32 {
10963 unsafe {
10967 self._tab
10968 .get::<i32>(CreateRelOp::VT_DST_COL, Some(0))
10969 .unwrap()
10970 }
10971 }
10972 #[inline]
10973 pub fn rel_type(&self) -> Option<&'a str> {
10974 unsafe {
10978 self._tab
10979 .get::<::flatbuffers::ForwardsUOffset<&str>>(CreateRelOp::VT_REL_TYPE, None)
10980 }
10981 }
10982 #[inline]
10983 pub fn props(&self) -> Option<Expr<'a>> {
10984 unsafe {
10988 self._tab
10989 .get::<::flatbuffers::ForwardsUOffset<Expr>>(CreateRelOp::VT_PROPS, None)
10990 }
10991 }
10992 #[inline]
10993 pub fn schema(
10994 &self,
10995 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
10996 unsafe {
11000 self._tab.get::<::flatbuffers::ForwardsUOffset<
11001 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
11002 >>(CreateRelOp::VT_SCHEMA, None)
11003 }
11004 }
11005 #[inline]
11006 pub fn out_var(&self) -> Option<&'a str> {
11007 unsafe {
11011 self._tab
11012 .get::<::flatbuffers::ForwardsUOffset<&str>>(CreateRelOp::VT_OUT_VAR, None)
11013 }
11014 }
11015 }
11016
11017 impl ::flatbuffers::Verifiable for CreateRelOp<'_> {
11018 #[inline]
11019 fn run_verifier(
11020 v: &mut ::flatbuffers::Verifier,
11021 pos: usize,
11022 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
11023 v.visit_table(pos)?
11024 .visit_field::<u32>("input", Self::VT_INPUT, false)?
11025 .visit_field::<i32>("src_col", Self::VT_SRC_COL, false)?
11026 .visit_field::<i32>("dst_col", Self::VT_DST_COL, false)?
11027 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
11028 "rel_type",
11029 Self::VT_REL_TYPE,
11030 false,
11031 )?
11032 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>(
11033 "props",
11034 Self::VT_PROPS,
11035 false,
11036 )?
11037 .visit_field::<::flatbuffers::ForwardsUOffset<
11038 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
11039 >>("schema", Self::VT_SCHEMA, false)?
11040 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
11041 "out_var",
11042 Self::VT_OUT_VAR,
11043 false,
11044 )?
11045 .finish();
11046 Ok(())
11047 }
11048 }
11049 pub struct CreateRelOpArgs<'a> {
11050 pub input: u32,
11051 pub src_col: i32,
11052 pub dst_col: i32,
11053 pub rel_type: Option<::flatbuffers::WIPOffset<&'a str>>,
11054 pub props: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
11055 pub schema: Option<
11056 ::flatbuffers::WIPOffset<
11057 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
11058 >,
11059 >,
11060 pub out_var: Option<::flatbuffers::WIPOffset<&'a str>>,
11061 }
11062 impl<'a> Default for CreateRelOpArgs<'a> {
11063 #[inline]
11064 fn default() -> Self {
11065 CreateRelOpArgs {
11066 input: 0,
11067 src_col: 0,
11068 dst_col: 0,
11069 rel_type: None,
11070 props: None,
11071 schema: None,
11072 out_var: None,
11073 }
11074 }
11075 }
11076
11077 pub struct CreateRelOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
11078 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
11079 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
11080 }
11081 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> CreateRelOpBuilder<'a, 'b, A> {
11082 #[inline]
11083 pub fn add_input(&mut self, input: u32) {
11084 self.fbb_.push_slot::<u32>(CreateRelOp::VT_INPUT, input, 0);
11085 }
11086 #[inline]
11087 pub fn add_src_col(&mut self, src_col: i32) {
11088 self.fbb_
11089 .push_slot::<i32>(CreateRelOp::VT_SRC_COL, src_col, 0);
11090 }
11091 #[inline]
11092 pub fn add_dst_col(&mut self, dst_col: i32) {
11093 self.fbb_
11094 .push_slot::<i32>(CreateRelOp::VT_DST_COL, dst_col, 0);
11095 }
11096 #[inline]
11097 pub fn add_rel_type(&mut self, rel_type: ::flatbuffers::WIPOffset<&'b str>) {
11098 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
11099 CreateRelOp::VT_REL_TYPE,
11100 rel_type,
11101 );
11102 }
11103 #[inline]
11104 pub fn add_props(&mut self, props: ::flatbuffers::WIPOffset<Expr<'b>>) {
11105 self.fbb_
11106 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(CreateRelOp::VT_PROPS, props);
11107 }
11108 #[inline]
11109 pub fn add_schema(
11110 &mut self,
11111 schema: ::flatbuffers::WIPOffset<
11112 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
11113 >,
11114 ) {
11115 self.fbb_
11116 .push_slot_always::<::flatbuffers::WIPOffset<_>>(CreateRelOp::VT_SCHEMA, schema);
11117 }
11118 #[inline]
11119 pub fn add_out_var(&mut self, out_var: ::flatbuffers::WIPOffset<&'b str>) {
11120 self.fbb_
11121 .push_slot_always::<::flatbuffers::WIPOffset<_>>(CreateRelOp::VT_OUT_VAR, out_var);
11122 }
11123 #[inline]
11124 pub fn new(
11125 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
11126 ) -> CreateRelOpBuilder<'a, 'b, A> {
11127 let start = _fbb.start_table();
11128 CreateRelOpBuilder {
11129 fbb_: _fbb,
11130 start_: start,
11131 }
11132 }
11133 #[inline]
11134 pub fn finish(self) -> ::flatbuffers::WIPOffset<CreateRelOp<'a>> {
11135 let o = self.fbb_.end_table(self.start_);
11136 ::flatbuffers::WIPOffset::new(o.value())
11137 }
11138 }
11139
11140 impl ::core::fmt::Debug for CreateRelOp<'_> {
11141 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11142 let mut ds = f.debug_struct("CreateRelOp");
11143 ds.field("input", &self.input());
11144 ds.field("src_col", &self.src_col());
11145 ds.field("dst_col", &self.dst_col());
11146 ds.field("rel_type", &self.rel_type());
11147 ds.field("props", &self.props());
11148 ds.field("schema", &self.schema());
11149 ds.field("out_var", &self.out_var());
11150 ds.finish()
11151 }
11152 }
11153 pub enum MergeOpOffset {}
11154 #[derive(Copy, Clone, PartialEq)]
11155
11156 pub struct MergeOp<'a> {
11157 pub _tab: ::flatbuffers::Table<'a>,
11158 }
11159
11160 impl<'a> ::flatbuffers::Follow<'a> for MergeOp<'a> {
11161 type Inner = MergeOp<'a>;
11162 #[inline]
11163 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11164 Self {
11165 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
11166 }
11167 }
11168 }
11169
11170 impl<'a> MergeOp<'a> {
11171 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
11172 pub const VT_PATTERN: ::flatbuffers::VOffsetT = 6;
11173 pub const VT_ON_CREATE_PROPS: ::flatbuffers::VOffsetT = 8;
11174 pub const VT_ON_MATCH_PROPS: ::flatbuffers::VOffsetT = 10;
11175 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 12;
11176
11177 #[inline]
11178 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
11179 MergeOp { _tab: table }
11180 }
11181 #[allow(unused_mut)]
11182 pub fn create<
11183 'bldr: 'args,
11184 'args: 'mut_bldr,
11185 'mut_bldr,
11186 A: ::flatbuffers::Allocator + 'bldr,
11187 >(
11188 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
11189 args: &'args MergeOpArgs<'args>,
11190 ) -> ::flatbuffers::WIPOffset<MergeOp<'bldr>> {
11191 let mut builder = MergeOpBuilder::new(_fbb);
11192 if let Some(x) = args.schema {
11193 builder.add_schema(x);
11194 }
11195 if let Some(x) = args.on_match_props {
11196 builder.add_on_match_props(x);
11197 }
11198 if let Some(x) = args.on_create_props {
11199 builder.add_on_create_props(x);
11200 }
11201 if let Some(x) = args.pattern {
11202 builder.add_pattern(x);
11203 }
11204 builder.add_input(args.input);
11205 builder.finish()
11206 }
11207
11208 #[inline]
11209 pub fn input(&self) -> u32 {
11210 unsafe { self._tab.get::<u32>(MergeOp::VT_INPUT, Some(0)).unwrap() }
11214 }
11215 #[inline]
11216 pub fn pattern(&self) -> Option<Expr<'a>> {
11217 unsafe {
11221 self._tab
11222 .get::<::flatbuffers::ForwardsUOffset<Expr>>(MergeOp::VT_PATTERN, None)
11223 }
11224 }
11225 #[inline]
11226 pub fn on_create_props(&self) -> Option<Expr<'a>> {
11227 unsafe {
11231 self._tab
11232 .get::<::flatbuffers::ForwardsUOffset<Expr>>(MergeOp::VT_ON_CREATE_PROPS, None)
11233 }
11234 }
11235 #[inline]
11236 pub fn on_match_props(&self) -> Option<Expr<'a>> {
11237 unsafe {
11241 self._tab
11242 .get::<::flatbuffers::ForwardsUOffset<Expr>>(MergeOp::VT_ON_MATCH_PROPS, None)
11243 }
11244 }
11245 #[inline]
11246 pub fn schema(
11247 &self,
11248 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
11249 unsafe {
11253 self._tab.get::<::flatbuffers::ForwardsUOffset<
11254 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
11255 >>(MergeOp::VT_SCHEMA, None)
11256 }
11257 }
11258 }
11259
11260 impl ::flatbuffers::Verifiable for MergeOp<'_> {
11261 #[inline]
11262 fn run_verifier(
11263 v: &mut ::flatbuffers::Verifier,
11264 pos: usize,
11265 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
11266 v.visit_table(pos)?
11267 .visit_field::<u32>("input", Self::VT_INPUT, false)?
11268 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>(
11269 "pattern",
11270 Self::VT_PATTERN,
11271 false,
11272 )?
11273 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>(
11274 "on_create_props",
11275 Self::VT_ON_CREATE_PROPS,
11276 false,
11277 )?
11278 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>(
11279 "on_match_props",
11280 Self::VT_ON_MATCH_PROPS,
11281 false,
11282 )?
11283 .visit_field::<::flatbuffers::ForwardsUOffset<
11284 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
11285 >>("schema", Self::VT_SCHEMA, false)?
11286 .finish();
11287 Ok(())
11288 }
11289 }
11290 pub struct MergeOpArgs<'a> {
11291 pub input: u32,
11292 pub pattern: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
11293 pub on_create_props: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
11294 pub on_match_props: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
11295 pub schema: Option<
11296 ::flatbuffers::WIPOffset<
11297 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
11298 >,
11299 >,
11300 }
11301 impl<'a> Default for MergeOpArgs<'a> {
11302 #[inline]
11303 fn default() -> Self {
11304 MergeOpArgs {
11305 input: 0,
11306 pattern: None,
11307 on_create_props: None,
11308 on_match_props: None,
11309 schema: None,
11310 }
11311 }
11312 }
11313
11314 pub struct MergeOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
11315 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
11316 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
11317 }
11318 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> MergeOpBuilder<'a, 'b, A> {
11319 #[inline]
11320 pub fn add_input(&mut self, input: u32) {
11321 self.fbb_.push_slot::<u32>(MergeOp::VT_INPUT, input, 0);
11322 }
11323 #[inline]
11324 pub fn add_pattern(&mut self, pattern: ::flatbuffers::WIPOffset<Expr<'b>>) {
11325 self.fbb_
11326 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(MergeOp::VT_PATTERN, pattern);
11327 }
11328 #[inline]
11329 pub fn add_on_create_props(&mut self, on_create_props: ::flatbuffers::WIPOffset<Expr<'b>>) {
11330 self.fbb_
11331 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(
11332 MergeOp::VT_ON_CREATE_PROPS,
11333 on_create_props,
11334 );
11335 }
11336 #[inline]
11337 pub fn add_on_match_props(&mut self, on_match_props: ::flatbuffers::WIPOffset<Expr<'b>>) {
11338 self.fbb_
11339 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(
11340 MergeOp::VT_ON_MATCH_PROPS,
11341 on_match_props,
11342 );
11343 }
11344 #[inline]
11345 pub fn add_schema(
11346 &mut self,
11347 schema: ::flatbuffers::WIPOffset<
11348 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
11349 >,
11350 ) {
11351 self.fbb_
11352 .push_slot_always::<::flatbuffers::WIPOffset<_>>(MergeOp::VT_SCHEMA, schema);
11353 }
11354 #[inline]
11355 pub fn new(
11356 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
11357 ) -> MergeOpBuilder<'a, 'b, A> {
11358 let start = _fbb.start_table();
11359 MergeOpBuilder {
11360 fbb_: _fbb,
11361 start_: start,
11362 }
11363 }
11364 #[inline]
11365 pub fn finish(self) -> ::flatbuffers::WIPOffset<MergeOp<'a>> {
11366 let o = self.fbb_.end_table(self.start_);
11367 ::flatbuffers::WIPOffset::new(o.value())
11368 }
11369 }
11370
11371 impl ::core::fmt::Debug for MergeOp<'_> {
11372 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11373 let mut ds = f.debug_struct("MergeOp");
11374 ds.field("input", &self.input());
11375 ds.field("pattern", &self.pattern());
11376 ds.field("on_create_props", &self.on_create_props());
11377 ds.field("on_match_props", &self.on_match_props());
11378 ds.field("schema", &self.schema());
11379 ds.finish()
11380 }
11381 }
11382 pub enum DeleteOpOffset {}
11383 #[derive(Copy, Clone, PartialEq)]
11384
11385 pub struct DeleteOp<'a> {
11386 pub _tab: ::flatbuffers::Table<'a>,
11387 }
11388
11389 impl<'a> ::flatbuffers::Follow<'a> for DeleteOp<'a> {
11390 type Inner = DeleteOp<'a>;
11391 #[inline]
11392 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11393 Self {
11394 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
11395 }
11396 }
11397 }
11398
11399 impl<'a> DeleteOp<'a> {
11400 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
11401 pub const VT_TARGET_COL: ::flatbuffers::VOffsetT = 6;
11402 pub const VT_DETACH: ::flatbuffers::VOffsetT = 8;
11403 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 10;
11404
11405 #[inline]
11406 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
11407 DeleteOp { _tab: table }
11408 }
11409 #[allow(unused_mut)]
11410 pub fn create<
11411 'bldr: 'args,
11412 'args: 'mut_bldr,
11413 'mut_bldr,
11414 A: ::flatbuffers::Allocator + 'bldr,
11415 >(
11416 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
11417 args: &'args DeleteOpArgs<'args>,
11418 ) -> ::flatbuffers::WIPOffset<DeleteOp<'bldr>> {
11419 let mut builder = DeleteOpBuilder::new(_fbb);
11420 if let Some(x) = args.schema {
11421 builder.add_schema(x);
11422 }
11423 builder.add_target_col(args.target_col);
11424 builder.add_input(args.input);
11425 builder.add_detach(args.detach);
11426 builder.finish()
11427 }
11428
11429 #[inline]
11430 pub fn input(&self) -> u32 {
11431 unsafe { self._tab.get::<u32>(DeleteOp::VT_INPUT, Some(0)).unwrap() }
11435 }
11436 #[inline]
11437 pub fn target_col(&self) -> i32 {
11438 unsafe {
11442 self._tab
11443 .get::<i32>(DeleteOp::VT_TARGET_COL, Some(0))
11444 .unwrap()
11445 }
11446 }
11447 #[inline]
11448 pub fn detach(&self) -> bool {
11449 unsafe {
11453 self._tab
11454 .get::<bool>(DeleteOp::VT_DETACH, Some(false))
11455 .unwrap()
11456 }
11457 }
11458 #[inline]
11459 pub fn schema(
11460 &self,
11461 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
11462 unsafe {
11466 self._tab.get::<::flatbuffers::ForwardsUOffset<
11467 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
11468 >>(DeleteOp::VT_SCHEMA, None)
11469 }
11470 }
11471 }
11472
11473 impl ::flatbuffers::Verifiable for DeleteOp<'_> {
11474 #[inline]
11475 fn run_verifier(
11476 v: &mut ::flatbuffers::Verifier,
11477 pos: usize,
11478 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
11479 v.visit_table(pos)?
11480 .visit_field::<u32>("input", Self::VT_INPUT, false)?
11481 .visit_field::<i32>("target_col", Self::VT_TARGET_COL, false)?
11482 .visit_field::<bool>("detach", Self::VT_DETACH, false)?
11483 .visit_field::<::flatbuffers::ForwardsUOffset<
11484 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
11485 >>("schema", Self::VT_SCHEMA, false)?
11486 .finish();
11487 Ok(())
11488 }
11489 }
11490 pub struct DeleteOpArgs<'a> {
11491 pub input: u32,
11492 pub target_col: i32,
11493 pub detach: bool,
11494 pub schema: Option<
11495 ::flatbuffers::WIPOffset<
11496 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
11497 >,
11498 >,
11499 }
11500 impl<'a> Default for DeleteOpArgs<'a> {
11501 #[inline]
11502 fn default() -> Self {
11503 DeleteOpArgs {
11504 input: 0,
11505 target_col: 0,
11506 detach: false,
11507 schema: None,
11508 }
11509 }
11510 }
11511
11512 pub struct DeleteOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
11513 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
11514 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
11515 }
11516 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> DeleteOpBuilder<'a, 'b, A> {
11517 #[inline]
11518 pub fn add_input(&mut self, input: u32) {
11519 self.fbb_.push_slot::<u32>(DeleteOp::VT_INPUT, input, 0);
11520 }
11521 #[inline]
11522 pub fn add_target_col(&mut self, target_col: i32) {
11523 self.fbb_
11524 .push_slot::<i32>(DeleteOp::VT_TARGET_COL, target_col, 0);
11525 }
11526 #[inline]
11527 pub fn add_detach(&mut self, detach: bool) {
11528 self.fbb_
11529 .push_slot::<bool>(DeleteOp::VT_DETACH, detach, false);
11530 }
11531 #[inline]
11532 pub fn add_schema(
11533 &mut self,
11534 schema: ::flatbuffers::WIPOffset<
11535 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
11536 >,
11537 ) {
11538 self.fbb_
11539 .push_slot_always::<::flatbuffers::WIPOffset<_>>(DeleteOp::VT_SCHEMA, schema);
11540 }
11541 #[inline]
11542 pub fn new(
11543 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
11544 ) -> DeleteOpBuilder<'a, 'b, A> {
11545 let start = _fbb.start_table();
11546 DeleteOpBuilder {
11547 fbb_: _fbb,
11548 start_: start,
11549 }
11550 }
11551 #[inline]
11552 pub fn finish(self) -> ::flatbuffers::WIPOffset<DeleteOp<'a>> {
11553 let o = self.fbb_.end_table(self.start_);
11554 ::flatbuffers::WIPOffset::new(o.value())
11555 }
11556 }
11557
11558 impl ::core::fmt::Debug for DeleteOp<'_> {
11559 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11560 let mut ds = f.debug_struct("DeleteOp");
11561 ds.field("input", &self.input());
11562 ds.field("target_col", &self.target_col());
11563 ds.field("detach", &self.detach());
11564 ds.field("schema", &self.schema());
11565 ds.finish()
11566 }
11567 }
11568 pub enum SetPropertyOpOffset {}
11569 #[derive(Copy, Clone, PartialEq)]
11570
11571 pub struct SetPropertyOp<'a> {
11572 pub _tab: ::flatbuffers::Table<'a>,
11573 }
11574
11575 impl<'a> ::flatbuffers::Follow<'a> for SetPropertyOp<'a> {
11576 type Inner = SetPropertyOp<'a>;
11577 #[inline]
11578 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11579 Self {
11580 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
11581 }
11582 }
11583 }
11584
11585 impl<'a> SetPropertyOp<'a> {
11586 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
11587 pub const VT_TARGET_COL: ::flatbuffers::VOffsetT = 6;
11588 pub const VT_KEY: ::flatbuffers::VOffsetT = 8;
11589 pub const VT_VALUE_EXPR: ::flatbuffers::VOffsetT = 10;
11590 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 12;
11591
11592 #[inline]
11593 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
11594 SetPropertyOp { _tab: table }
11595 }
11596 #[allow(unused_mut)]
11597 pub fn create<
11598 'bldr: 'args,
11599 'args: 'mut_bldr,
11600 'mut_bldr,
11601 A: ::flatbuffers::Allocator + 'bldr,
11602 >(
11603 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
11604 args: &'args SetPropertyOpArgs<'args>,
11605 ) -> ::flatbuffers::WIPOffset<SetPropertyOp<'bldr>> {
11606 let mut builder = SetPropertyOpBuilder::new(_fbb);
11607 if let Some(x) = args.schema {
11608 builder.add_schema(x);
11609 }
11610 if let Some(x) = args.value_expr {
11611 builder.add_value_expr(x);
11612 }
11613 if let Some(x) = args.key {
11614 builder.add_key(x);
11615 }
11616 builder.add_target_col(args.target_col);
11617 builder.add_input(args.input);
11618 builder.finish()
11619 }
11620
11621 #[inline]
11622 pub fn input(&self) -> u32 {
11623 unsafe {
11627 self._tab
11628 .get::<u32>(SetPropertyOp::VT_INPUT, Some(0))
11629 .unwrap()
11630 }
11631 }
11632 #[inline]
11633 pub fn target_col(&self) -> i32 {
11634 unsafe {
11638 self._tab
11639 .get::<i32>(SetPropertyOp::VT_TARGET_COL, Some(0))
11640 .unwrap()
11641 }
11642 }
11643 #[inline]
11644 pub fn key(&self) -> Option<&'a str> {
11645 unsafe {
11649 self._tab
11650 .get::<::flatbuffers::ForwardsUOffset<&str>>(SetPropertyOp::VT_KEY, None)
11651 }
11652 }
11653 #[inline]
11654 pub fn value_expr(&self) -> Option<Expr<'a>> {
11655 unsafe {
11659 self._tab
11660 .get::<::flatbuffers::ForwardsUOffset<Expr>>(SetPropertyOp::VT_VALUE_EXPR, None)
11661 }
11662 }
11663 #[inline]
11664 pub fn schema(
11665 &self,
11666 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
11667 unsafe {
11671 self._tab.get::<::flatbuffers::ForwardsUOffset<
11672 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
11673 >>(SetPropertyOp::VT_SCHEMA, None)
11674 }
11675 }
11676 }
11677
11678 impl ::flatbuffers::Verifiable for SetPropertyOp<'_> {
11679 #[inline]
11680 fn run_verifier(
11681 v: &mut ::flatbuffers::Verifier,
11682 pos: usize,
11683 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
11684 v.visit_table(pos)?
11685 .visit_field::<u32>("input", Self::VT_INPUT, false)?
11686 .visit_field::<i32>("target_col", Self::VT_TARGET_COL, false)?
11687 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>("key", Self::VT_KEY, false)?
11688 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>(
11689 "value_expr",
11690 Self::VT_VALUE_EXPR,
11691 false,
11692 )?
11693 .visit_field::<::flatbuffers::ForwardsUOffset<
11694 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
11695 >>("schema", Self::VT_SCHEMA, false)?
11696 .finish();
11697 Ok(())
11698 }
11699 }
11700 pub struct SetPropertyOpArgs<'a> {
11701 pub input: u32,
11702 pub target_col: i32,
11703 pub key: Option<::flatbuffers::WIPOffset<&'a str>>,
11704 pub value_expr: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
11705 pub schema: Option<
11706 ::flatbuffers::WIPOffset<
11707 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
11708 >,
11709 >,
11710 }
11711 impl<'a> Default for SetPropertyOpArgs<'a> {
11712 #[inline]
11713 fn default() -> Self {
11714 SetPropertyOpArgs {
11715 input: 0,
11716 target_col: 0,
11717 key: None,
11718 value_expr: None,
11719 schema: None,
11720 }
11721 }
11722 }
11723
11724 pub struct SetPropertyOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
11725 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
11726 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
11727 }
11728 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> SetPropertyOpBuilder<'a, 'b, A> {
11729 #[inline]
11730 pub fn add_input(&mut self, input: u32) {
11731 self.fbb_
11732 .push_slot::<u32>(SetPropertyOp::VT_INPUT, input, 0);
11733 }
11734 #[inline]
11735 pub fn add_target_col(&mut self, target_col: i32) {
11736 self.fbb_
11737 .push_slot::<i32>(SetPropertyOp::VT_TARGET_COL, target_col, 0);
11738 }
11739 #[inline]
11740 pub fn add_key(&mut self, key: ::flatbuffers::WIPOffset<&'b str>) {
11741 self.fbb_
11742 .push_slot_always::<::flatbuffers::WIPOffset<_>>(SetPropertyOp::VT_KEY, key);
11743 }
11744 #[inline]
11745 pub fn add_value_expr(&mut self, value_expr: ::flatbuffers::WIPOffset<Expr<'b>>) {
11746 self.fbb_
11747 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(
11748 SetPropertyOp::VT_VALUE_EXPR,
11749 value_expr,
11750 );
11751 }
11752 #[inline]
11753 pub fn add_schema(
11754 &mut self,
11755 schema: ::flatbuffers::WIPOffset<
11756 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
11757 >,
11758 ) {
11759 self.fbb_
11760 .push_slot_always::<::flatbuffers::WIPOffset<_>>(SetPropertyOp::VT_SCHEMA, schema);
11761 }
11762 #[inline]
11763 pub fn new(
11764 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
11765 ) -> SetPropertyOpBuilder<'a, 'b, A> {
11766 let start = _fbb.start_table();
11767 SetPropertyOpBuilder {
11768 fbb_: _fbb,
11769 start_: start,
11770 }
11771 }
11772 #[inline]
11773 pub fn finish(self) -> ::flatbuffers::WIPOffset<SetPropertyOp<'a>> {
11774 let o = self.fbb_.end_table(self.start_);
11775 ::flatbuffers::WIPOffset::new(o.value())
11776 }
11777 }
11778
11779 impl ::core::fmt::Debug for SetPropertyOp<'_> {
11780 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11781 let mut ds = f.debug_struct("SetPropertyOp");
11782 ds.field("input", &self.input());
11783 ds.field("target_col", &self.target_col());
11784 ds.field("key", &self.key());
11785 ds.field("value_expr", &self.value_expr());
11786 ds.field("schema", &self.schema());
11787 ds.finish()
11788 }
11789 }
11790 pub enum RemovePropertyOpOffset {}
11791 #[derive(Copy, Clone, PartialEq)]
11792
11793 pub struct RemovePropertyOp<'a> {
11794 pub _tab: ::flatbuffers::Table<'a>,
11795 }
11796
11797 impl<'a> ::flatbuffers::Follow<'a> for RemovePropertyOp<'a> {
11798 type Inner = RemovePropertyOp<'a>;
11799 #[inline]
11800 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11801 Self {
11802 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
11803 }
11804 }
11805 }
11806
11807 impl<'a> RemovePropertyOp<'a> {
11808 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
11809 pub const VT_TARGET_COL: ::flatbuffers::VOffsetT = 6;
11810 pub const VT_KEY: ::flatbuffers::VOffsetT = 8;
11811 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 10;
11812
11813 #[inline]
11814 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
11815 RemovePropertyOp { _tab: table }
11816 }
11817 #[allow(unused_mut)]
11818 pub fn create<
11819 'bldr: 'args,
11820 'args: 'mut_bldr,
11821 'mut_bldr,
11822 A: ::flatbuffers::Allocator + 'bldr,
11823 >(
11824 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
11825 args: &'args RemovePropertyOpArgs<'args>,
11826 ) -> ::flatbuffers::WIPOffset<RemovePropertyOp<'bldr>> {
11827 let mut builder = RemovePropertyOpBuilder::new(_fbb);
11828 if let Some(x) = args.schema {
11829 builder.add_schema(x);
11830 }
11831 if let Some(x) = args.key {
11832 builder.add_key(x);
11833 }
11834 builder.add_target_col(args.target_col);
11835 builder.add_input(args.input);
11836 builder.finish()
11837 }
11838
11839 #[inline]
11840 pub fn input(&self) -> u32 {
11841 unsafe {
11845 self._tab
11846 .get::<u32>(RemovePropertyOp::VT_INPUT, Some(0))
11847 .unwrap()
11848 }
11849 }
11850 #[inline]
11851 pub fn target_col(&self) -> i32 {
11852 unsafe {
11856 self._tab
11857 .get::<i32>(RemovePropertyOp::VT_TARGET_COL, Some(0))
11858 .unwrap()
11859 }
11860 }
11861 #[inline]
11862 pub fn key(&self) -> Option<&'a str> {
11863 unsafe {
11867 self._tab
11868 .get::<::flatbuffers::ForwardsUOffset<&str>>(RemovePropertyOp::VT_KEY, None)
11869 }
11870 }
11871 #[inline]
11872 pub fn schema(
11873 &self,
11874 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
11875 unsafe {
11879 self._tab.get::<::flatbuffers::ForwardsUOffset<
11880 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
11881 >>(RemovePropertyOp::VT_SCHEMA, None)
11882 }
11883 }
11884 }
11885
11886 impl ::flatbuffers::Verifiable for RemovePropertyOp<'_> {
11887 #[inline]
11888 fn run_verifier(
11889 v: &mut ::flatbuffers::Verifier,
11890 pos: usize,
11891 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
11892 v.visit_table(pos)?
11893 .visit_field::<u32>("input", Self::VT_INPUT, false)?
11894 .visit_field::<i32>("target_col", Self::VT_TARGET_COL, false)?
11895 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>("key", Self::VT_KEY, false)?
11896 .visit_field::<::flatbuffers::ForwardsUOffset<
11897 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
11898 >>("schema", Self::VT_SCHEMA, false)?
11899 .finish();
11900 Ok(())
11901 }
11902 }
11903 pub struct RemovePropertyOpArgs<'a> {
11904 pub input: u32,
11905 pub target_col: i32,
11906 pub key: Option<::flatbuffers::WIPOffset<&'a str>>,
11907 pub schema: Option<
11908 ::flatbuffers::WIPOffset<
11909 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
11910 >,
11911 >,
11912 }
11913 impl<'a> Default for RemovePropertyOpArgs<'a> {
11914 #[inline]
11915 fn default() -> Self {
11916 RemovePropertyOpArgs {
11917 input: 0,
11918 target_col: 0,
11919 key: None,
11920 schema: None,
11921 }
11922 }
11923 }
11924
11925 pub struct RemovePropertyOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
11926 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
11927 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
11928 }
11929 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> RemovePropertyOpBuilder<'a, 'b, A> {
11930 #[inline]
11931 pub fn add_input(&mut self, input: u32) {
11932 self.fbb_
11933 .push_slot::<u32>(RemovePropertyOp::VT_INPUT, input, 0);
11934 }
11935 #[inline]
11936 pub fn add_target_col(&mut self, target_col: i32) {
11937 self.fbb_
11938 .push_slot::<i32>(RemovePropertyOp::VT_TARGET_COL, target_col, 0);
11939 }
11940 #[inline]
11941 pub fn add_key(&mut self, key: ::flatbuffers::WIPOffset<&'b str>) {
11942 self.fbb_
11943 .push_slot_always::<::flatbuffers::WIPOffset<_>>(RemovePropertyOp::VT_KEY, key);
11944 }
11945 #[inline]
11946 pub fn add_schema(
11947 &mut self,
11948 schema: ::flatbuffers::WIPOffset<
11949 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
11950 >,
11951 ) {
11952 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
11953 RemovePropertyOp::VT_SCHEMA,
11954 schema,
11955 );
11956 }
11957 #[inline]
11958 pub fn new(
11959 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
11960 ) -> RemovePropertyOpBuilder<'a, 'b, A> {
11961 let start = _fbb.start_table();
11962 RemovePropertyOpBuilder {
11963 fbb_: _fbb,
11964 start_: start,
11965 }
11966 }
11967 #[inline]
11968 pub fn finish(self) -> ::flatbuffers::WIPOffset<RemovePropertyOp<'a>> {
11969 let o = self.fbb_.end_table(self.start_);
11970 ::flatbuffers::WIPOffset::new(o.value())
11971 }
11972 }
11973
11974 impl ::core::fmt::Debug for RemovePropertyOp<'_> {
11975 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11976 let mut ds = f.debug_struct("RemovePropertyOp");
11977 ds.field("input", &self.input());
11978 ds.field("target_col", &self.target_col());
11979 ds.field("key", &self.key());
11980 ds.field("schema", &self.schema());
11981 ds.finish()
11982 }
11983 }
11984 pub enum VectorScanOpOffset {}
11985 #[derive(Copy, Clone, PartialEq)]
11986
11987 pub struct VectorScanOp<'a> {
11988 pub _tab: ::flatbuffers::Table<'a>,
11989 }
11990
11991 impl<'a> ::flatbuffers::Follow<'a> for VectorScanOp<'a> {
11992 type Inner = VectorScanOp<'a>;
11993 #[inline]
11994 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11995 Self {
11996 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
11997 }
11998 }
11999 }
12000
12001 impl<'a> VectorScanOp<'a> {
12002 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
12003 pub const VT_COLLECTION: ::flatbuffers::VOffsetT = 6;
12004 pub const VT_QUERY_VECTOR: ::flatbuffers::VOffsetT = 8;
12005 pub const VT_METRIC: ::flatbuffers::VOffsetT = 10;
12006 pub const VT_TOP_K: ::flatbuffers::VOffsetT = 12;
12007 pub const VT_APPROX_HINT: ::flatbuffers::VOffsetT = 14;
12008 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 16;
12009
12010 #[inline]
12011 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
12012 VectorScanOp { _tab: table }
12013 }
12014 #[allow(unused_mut)]
12015 pub fn create<
12016 'bldr: 'args,
12017 'args: 'mut_bldr,
12018 'mut_bldr,
12019 A: ::flatbuffers::Allocator + 'bldr,
12020 >(
12021 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
12022 args: &'args VectorScanOpArgs<'args>,
12023 ) -> ::flatbuffers::WIPOffset<VectorScanOp<'bldr>> {
12024 let mut builder = VectorScanOpBuilder::new(_fbb);
12025 if let Some(x) = args.schema {
12026 builder.add_schema(x);
12027 }
12028 builder.add_top_k(args.top_k);
12029 if let Some(x) = args.query_vector {
12030 builder.add_query_vector(x);
12031 }
12032 if let Some(x) = args.collection {
12033 builder.add_collection(x);
12034 }
12035 builder.add_input(args.input);
12036 builder.add_approx_hint(args.approx_hint);
12037 builder.add_metric(args.metric);
12038 builder.finish()
12039 }
12040
12041 #[inline]
12042 pub fn input(&self) -> u32 {
12043 unsafe {
12047 self._tab
12048 .get::<u32>(VectorScanOp::VT_INPUT, Some(0))
12049 .unwrap()
12050 }
12051 }
12052 #[inline]
12053 pub fn collection(&self) -> Option<&'a str> {
12054 unsafe {
12058 self._tab
12059 .get::<::flatbuffers::ForwardsUOffset<&str>>(VectorScanOp::VT_COLLECTION, None)
12060 }
12061 }
12062 #[inline]
12063 pub fn query_vector(&self) -> Option<Expr<'a>> {
12064 unsafe {
12068 self._tab.get::<::flatbuffers::ForwardsUOffset<Expr>>(
12069 VectorScanOp::VT_QUERY_VECTOR,
12070 None,
12071 )
12072 }
12073 }
12074 #[inline]
12075 pub fn metric(&self) -> VectorMetric {
12076 unsafe {
12080 self._tab
12081 .get::<VectorMetric>(VectorScanOp::VT_METRIC, Some(VectorMetric::cosine))
12082 .unwrap()
12083 }
12084 }
12085 #[inline]
12086 pub fn top_k(&self) -> u32 {
12087 unsafe {
12091 self._tab
12092 .get::<u32>(VectorScanOp::VT_TOP_K, Some(0))
12093 .unwrap()
12094 }
12095 }
12096 #[inline]
12097 pub fn approx_hint(&self) -> bool {
12098 unsafe {
12102 self._tab
12103 .get::<bool>(VectorScanOp::VT_APPROX_HINT, Some(true))
12104 .unwrap()
12105 }
12106 }
12107 #[inline]
12108 pub fn schema(
12109 &self,
12110 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
12111 unsafe {
12115 self._tab.get::<::flatbuffers::ForwardsUOffset<
12116 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
12117 >>(VectorScanOp::VT_SCHEMA, None)
12118 }
12119 }
12120 }
12121
12122 impl ::flatbuffers::Verifiable for VectorScanOp<'_> {
12123 #[inline]
12124 fn run_verifier(
12125 v: &mut ::flatbuffers::Verifier,
12126 pos: usize,
12127 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
12128 v.visit_table(pos)?
12129 .visit_field::<u32>("input", Self::VT_INPUT, false)?
12130 .visit_field::<::flatbuffers::ForwardsUOffset<&str>>(
12131 "collection",
12132 Self::VT_COLLECTION,
12133 false,
12134 )?
12135 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>(
12136 "query_vector",
12137 Self::VT_QUERY_VECTOR,
12138 false,
12139 )?
12140 .visit_field::<VectorMetric>("metric", Self::VT_METRIC, false)?
12141 .visit_field::<u32>("top_k", Self::VT_TOP_K, false)?
12142 .visit_field::<bool>("approx_hint", Self::VT_APPROX_HINT, false)?
12143 .visit_field::<::flatbuffers::ForwardsUOffset<
12144 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
12145 >>("schema", Self::VT_SCHEMA, false)?
12146 .finish();
12147 Ok(())
12148 }
12149 }
12150 pub struct VectorScanOpArgs<'a> {
12151 pub input: u32,
12152 pub collection: Option<::flatbuffers::WIPOffset<&'a str>>,
12153 pub query_vector: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
12154 pub metric: VectorMetric,
12155 pub top_k: u32,
12156 pub approx_hint: bool,
12157 pub schema: Option<
12158 ::flatbuffers::WIPOffset<
12159 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
12160 >,
12161 >,
12162 }
12163 impl<'a> Default for VectorScanOpArgs<'a> {
12164 #[inline]
12165 fn default() -> Self {
12166 VectorScanOpArgs {
12167 input: 0,
12168 collection: None,
12169 query_vector: None,
12170 metric: VectorMetric::cosine,
12171 top_k: 0,
12172 approx_hint: true,
12173 schema: None,
12174 }
12175 }
12176 }
12177
12178 pub struct VectorScanOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
12179 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
12180 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
12181 }
12182 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> VectorScanOpBuilder<'a, 'b, A> {
12183 #[inline]
12184 pub fn add_input(&mut self, input: u32) {
12185 self.fbb_.push_slot::<u32>(VectorScanOp::VT_INPUT, input, 0);
12186 }
12187 #[inline]
12188 pub fn add_collection(&mut self, collection: ::flatbuffers::WIPOffset<&'b str>) {
12189 self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(
12190 VectorScanOp::VT_COLLECTION,
12191 collection,
12192 );
12193 }
12194 #[inline]
12195 pub fn add_query_vector(&mut self, query_vector: ::flatbuffers::WIPOffset<Expr<'b>>) {
12196 self.fbb_
12197 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(
12198 VectorScanOp::VT_QUERY_VECTOR,
12199 query_vector,
12200 );
12201 }
12202 #[inline]
12203 pub fn add_metric(&mut self, metric: VectorMetric) {
12204 self.fbb_.push_slot::<VectorMetric>(
12205 VectorScanOp::VT_METRIC,
12206 metric,
12207 VectorMetric::cosine,
12208 );
12209 }
12210 #[inline]
12211 pub fn add_top_k(&mut self, top_k: u32) {
12212 self.fbb_.push_slot::<u32>(VectorScanOp::VT_TOP_K, top_k, 0);
12213 }
12214 #[inline]
12215 pub fn add_approx_hint(&mut self, approx_hint: bool) {
12216 self.fbb_
12217 .push_slot::<bool>(VectorScanOp::VT_APPROX_HINT, approx_hint, true);
12218 }
12219 #[inline]
12220 pub fn add_schema(
12221 &mut self,
12222 schema: ::flatbuffers::WIPOffset<
12223 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
12224 >,
12225 ) {
12226 self.fbb_
12227 .push_slot_always::<::flatbuffers::WIPOffset<_>>(VectorScanOp::VT_SCHEMA, schema);
12228 }
12229 #[inline]
12230 pub fn new(
12231 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
12232 ) -> VectorScanOpBuilder<'a, 'b, A> {
12233 let start = _fbb.start_table();
12234 VectorScanOpBuilder {
12235 fbb_: _fbb,
12236 start_: start,
12237 }
12238 }
12239 #[inline]
12240 pub fn finish(self) -> ::flatbuffers::WIPOffset<VectorScanOp<'a>> {
12241 let o = self.fbb_.end_table(self.start_);
12242 ::flatbuffers::WIPOffset::new(o.value())
12243 }
12244 }
12245
12246 impl ::core::fmt::Debug for VectorScanOp<'_> {
12247 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12248 let mut ds = f.debug_struct("VectorScanOp");
12249 ds.field("input", &self.input());
12250 ds.field("collection", &self.collection());
12251 ds.field("query_vector", &self.query_vector());
12252 ds.field("metric", &self.metric());
12253 ds.field("top_k", &self.top_k());
12254 ds.field("approx_hint", &self.approx_hint());
12255 ds.field("schema", &self.schema());
12256 ds.finish()
12257 }
12258 }
12259 pub enum RerankOpOffset {}
12260 #[derive(Copy, Clone, PartialEq)]
12261
12262 pub struct RerankOp<'a> {
12263 pub _tab: ::flatbuffers::Table<'a>,
12264 }
12265
12266 impl<'a> ::flatbuffers::Follow<'a> for RerankOp<'a> {
12267 type Inner = RerankOp<'a>;
12268 #[inline]
12269 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12270 Self {
12271 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
12272 }
12273 }
12274 }
12275
12276 impl<'a> RerankOp<'a> {
12277 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
12278 pub const VT_SCORE_EXPR: ::flatbuffers::VOffsetT = 6;
12279 pub const VT_TOP_K: ::flatbuffers::VOffsetT = 8;
12280 pub const VT_SCHEMA: ::flatbuffers::VOffsetT = 10;
12281
12282 #[inline]
12283 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
12284 RerankOp { _tab: table }
12285 }
12286 #[allow(unused_mut)]
12287 pub fn create<
12288 'bldr: 'args,
12289 'args: 'mut_bldr,
12290 'mut_bldr,
12291 A: ::flatbuffers::Allocator + 'bldr,
12292 >(
12293 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
12294 args: &'args RerankOpArgs<'args>,
12295 ) -> ::flatbuffers::WIPOffset<RerankOp<'bldr>> {
12296 let mut builder = RerankOpBuilder::new(_fbb);
12297 if let Some(x) = args.schema {
12298 builder.add_schema(x);
12299 }
12300 builder.add_top_k(args.top_k);
12301 if let Some(x) = args.score_expr {
12302 builder.add_score_expr(x);
12303 }
12304 builder.add_input(args.input);
12305 builder.finish()
12306 }
12307
12308 #[inline]
12309 pub fn input(&self) -> u32 {
12310 unsafe { self._tab.get::<u32>(RerankOp::VT_INPUT, Some(0)).unwrap() }
12314 }
12315 #[inline]
12316 pub fn score_expr(&self) -> Option<Expr<'a>> {
12317 unsafe {
12321 self._tab
12322 .get::<::flatbuffers::ForwardsUOffset<Expr>>(RerankOp::VT_SCORE_EXPR, None)
12323 }
12324 }
12325 #[inline]
12326 pub fn top_k(&self) -> u32 {
12327 unsafe { self._tab.get::<u32>(RerankOp::VT_TOP_K, Some(0)).unwrap() }
12331 }
12332 #[inline]
12333 pub fn schema(
12334 &self,
12335 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>> {
12336 unsafe {
12340 self._tab.get::<::flatbuffers::ForwardsUOffset<
12341 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef>>,
12342 >>(RerankOp::VT_SCHEMA, None)
12343 }
12344 }
12345 }
12346
12347 impl ::flatbuffers::Verifiable for RerankOp<'_> {
12348 #[inline]
12349 fn run_verifier(
12350 v: &mut ::flatbuffers::Verifier,
12351 pos: usize,
12352 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
12353 v.visit_table(pos)?
12354 .visit_field::<u32>("input", Self::VT_INPUT, false)?
12355 .visit_field::<::flatbuffers::ForwardsUOffset<Expr>>(
12356 "score_expr",
12357 Self::VT_SCORE_EXPR,
12358 false,
12359 )?
12360 .visit_field::<u32>("top_k", Self::VT_TOP_K, false)?
12361 .visit_field::<::flatbuffers::ForwardsUOffset<
12362 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<ColDef>>,
12363 >>("schema", Self::VT_SCHEMA, false)?
12364 .finish();
12365 Ok(())
12366 }
12367 }
12368 pub struct RerankOpArgs<'a> {
12369 pub input: u32,
12370 pub score_expr: Option<::flatbuffers::WIPOffset<Expr<'a>>>,
12371 pub top_k: u32,
12372 pub schema: Option<
12373 ::flatbuffers::WIPOffset<
12374 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<ColDef<'a>>>,
12375 >,
12376 >,
12377 }
12378 impl<'a> Default for RerankOpArgs<'a> {
12379 #[inline]
12380 fn default() -> Self {
12381 RerankOpArgs {
12382 input: 0,
12383 score_expr: None,
12384 top_k: 0,
12385 schema: None,
12386 }
12387 }
12388 }
12389
12390 pub struct RerankOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
12391 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
12392 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
12393 }
12394 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> RerankOpBuilder<'a, 'b, A> {
12395 #[inline]
12396 pub fn add_input(&mut self, input: u32) {
12397 self.fbb_.push_slot::<u32>(RerankOp::VT_INPUT, input, 0);
12398 }
12399 #[inline]
12400 pub fn add_score_expr(&mut self, score_expr: ::flatbuffers::WIPOffset<Expr<'b>>) {
12401 self.fbb_
12402 .push_slot_always::<::flatbuffers::WIPOffset<Expr>>(
12403 RerankOp::VT_SCORE_EXPR,
12404 score_expr,
12405 );
12406 }
12407 #[inline]
12408 pub fn add_top_k(&mut self, top_k: u32) {
12409 self.fbb_.push_slot::<u32>(RerankOp::VT_TOP_K, top_k, 0);
12410 }
12411 #[inline]
12412 pub fn add_schema(
12413 &mut self,
12414 schema: ::flatbuffers::WIPOffset<
12415 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<ColDef<'b>>>,
12416 >,
12417 ) {
12418 self.fbb_
12419 .push_slot_always::<::flatbuffers::WIPOffset<_>>(RerankOp::VT_SCHEMA, schema);
12420 }
12421 #[inline]
12422 pub fn new(
12423 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
12424 ) -> RerankOpBuilder<'a, 'b, A> {
12425 let start = _fbb.start_table();
12426 RerankOpBuilder {
12427 fbb_: _fbb,
12428 start_: start,
12429 }
12430 }
12431 #[inline]
12432 pub fn finish(self) -> ::flatbuffers::WIPOffset<RerankOp<'a>> {
12433 let o = self.fbb_.end_table(self.start_);
12434 ::flatbuffers::WIPOffset::new(o.value())
12435 }
12436 }
12437
12438 impl ::core::fmt::Debug for RerankOp<'_> {
12439 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12440 let mut ds = f.debug_struct("RerankOp");
12441 ds.field("input", &self.input());
12442 ds.field("score_expr", &self.score_expr());
12443 ds.field("top_k", &self.top_k());
12444 ds.field("schema", &self.schema());
12445 ds.finish()
12446 }
12447 }
12448 pub enum ReturnOpOffset {}
12449 #[derive(Copy, Clone, PartialEq)]
12450
12451 pub struct ReturnOp<'a> {
12452 pub _tab: ::flatbuffers::Table<'a>,
12453 }
12454
12455 impl<'a> ::flatbuffers::Follow<'a> for ReturnOp<'a> {
12456 type Inner = ReturnOp<'a>;
12457 #[inline]
12458 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12459 Self {
12460 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
12461 }
12462 }
12463 }
12464
12465 impl<'a> ReturnOp<'a> {
12466 pub const VT_INPUT: ::flatbuffers::VOffsetT = 4;
12467
12468 #[inline]
12469 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
12470 ReturnOp { _tab: table }
12471 }
12472 #[allow(unused_mut)]
12473 pub fn create<
12474 'bldr: 'args,
12475 'args: 'mut_bldr,
12476 'mut_bldr,
12477 A: ::flatbuffers::Allocator + 'bldr,
12478 >(
12479 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
12480 args: &'args ReturnOpArgs,
12481 ) -> ::flatbuffers::WIPOffset<ReturnOp<'bldr>> {
12482 let mut builder = ReturnOpBuilder::new(_fbb);
12483 builder.add_input(args.input);
12484 builder.finish()
12485 }
12486
12487 #[inline]
12488 pub fn input(&self) -> u32 {
12489 unsafe { self._tab.get::<u32>(ReturnOp::VT_INPUT, Some(0)).unwrap() }
12493 }
12494 }
12495
12496 impl ::flatbuffers::Verifiable for ReturnOp<'_> {
12497 #[inline]
12498 fn run_verifier(
12499 v: &mut ::flatbuffers::Verifier,
12500 pos: usize,
12501 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
12502 v.visit_table(pos)?
12503 .visit_field::<u32>("input", Self::VT_INPUT, false)?
12504 .finish();
12505 Ok(())
12506 }
12507 }
12508 pub struct ReturnOpArgs {
12509 pub input: u32,
12510 }
12511 impl<'a> Default for ReturnOpArgs {
12512 #[inline]
12513 fn default() -> Self {
12514 ReturnOpArgs { input: 0 }
12515 }
12516 }
12517
12518 pub struct ReturnOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
12519 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
12520 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
12521 }
12522 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ReturnOpBuilder<'a, 'b, A> {
12523 #[inline]
12524 pub fn add_input(&mut self, input: u32) {
12525 self.fbb_.push_slot::<u32>(ReturnOp::VT_INPUT, input, 0);
12526 }
12527 #[inline]
12528 pub fn new(
12529 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
12530 ) -> ReturnOpBuilder<'a, 'b, A> {
12531 let start = _fbb.start_table();
12532 ReturnOpBuilder {
12533 fbb_: _fbb,
12534 start_: start,
12535 }
12536 }
12537 #[inline]
12538 pub fn finish(self) -> ::flatbuffers::WIPOffset<ReturnOp<'a>> {
12539 let o = self.fbb_.end_table(self.start_);
12540 ::flatbuffers::WIPOffset::new(o.value())
12541 }
12542 }
12543
12544 impl ::core::fmt::Debug for ReturnOp<'_> {
12545 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12546 let mut ds = f.debug_struct("ReturnOp");
12547 ds.field("input", &self.input());
12548 ds.finish()
12549 }
12550 }
12551 pub enum ConstRowOpOffset {}
12552 #[derive(Copy, Clone, PartialEq)]
12553
12554 pub struct ConstRowOp<'a> {
12557 pub _tab: ::flatbuffers::Table<'a>,
12558 }
12559
12560 impl<'a> ::flatbuffers::Follow<'a> for ConstRowOp<'a> {
12561 type Inner = ConstRowOp<'a>;
12562 #[inline]
12563 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12564 Self {
12565 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
12566 }
12567 }
12568 }
12569
12570 impl<'a> ConstRowOp<'a> {
12571 #[inline]
12572 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
12573 ConstRowOp { _tab: table }
12574 }
12575 #[allow(unused_mut)]
12576 pub fn create<
12577 'bldr: 'args,
12578 'args: 'mut_bldr,
12579 'mut_bldr,
12580 A: ::flatbuffers::Allocator + 'bldr,
12581 >(
12582 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
12583 _args: &'args ConstRowOpArgs,
12584 ) -> ::flatbuffers::WIPOffset<ConstRowOp<'bldr>> {
12585 let mut builder = ConstRowOpBuilder::new(_fbb);
12586 builder.finish()
12587 }
12588 }
12589
12590 impl ::flatbuffers::Verifiable for ConstRowOp<'_> {
12591 #[inline]
12592 fn run_verifier(
12593 v: &mut ::flatbuffers::Verifier,
12594 pos: usize,
12595 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
12596 v.visit_table(pos)?.finish();
12597 Ok(())
12598 }
12599 }
12600 pub struct ConstRowOpArgs {}
12601 impl<'a> Default for ConstRowOpArgs {
12602 #[inline]
12603 fn default() -> Self {
12604 ConstRowOpArgs {}
12605 }
12606 }
12607
12608 pub struct ConstRowOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
12609 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
12610 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
12611 }
12612 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> ConstRowOpBuilder<'a, 'b, A> {
12613 #[inline]
12614 pub fn new(
12615 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
12616 ) -> ConstRowOpBuilder<'a, 'b, A> {
12617 let start = _fbb.start_table();
12618 ConstRowOpBuilder {
12619 fbb_: _fbb,
12620 start_: start,
12621 }
12622 }
12623 #[inline]
12624 pub fn finish(self) -> ::flatbuffers::WIPOffset<ConstRowOp<'a>> {
12625 let o = self.fbb_.end_table(self.start_);
12626 ::flatbuffers::WIPOffset::new(o.value())
12627 }
12628 }
12629
12630 impl ::core::fmt::Debug for ConstRowOp<'_> {
12631 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12632 let mut ds = f.debug_struct("ConstRowOp");
12633 ds.finish()
12634 }
12635 }
12636 pub enum PlanOpOffset {}
12637 #[derive(Copy, Clone, PartialEq)]
12638
12639 pub struct PlanOp<'a> {
12640 pub _tab: ::flatbuffers::Table<'a>,
12641 }
12642
12643 impl<'a> ::flatbuffers::Follow<'a> for PlanOp<'a> {
12644 type Inner = PlanOp<'a>;
12645 #[inline]
12646 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12647 Self {
12648 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
12649 }
12650 }
12651 }
12652
12653 impl<'a> PlanOp<'a> {
12654 pub const VT_NODE_TYPE: ::flatbuffers::VOffsetT = 4;
12655 pub const VT_NODE: ::flatbuffers::VOffsetT = 6;
12656
12657 #[inline]
12658 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
12659 PlanOp { _tab: table }
12660 }
12661 #[allow(unused_mut)]
12662 pub fn create<
12663 'bldr: 'args,
12664 'args: 'mut_bldr,
12665 'mut_bldr,
12666 A: ::flatbuffers::Allocator + 'bldr,
12667 >(
12668 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
12669 args: &'args PlanOpArgs,
12670 ) -> ::flatbuffers::WIPOffset<PlanOp<'bldr>> {
12671 let mut builder = PlanOpBuilder::new(_fbb);
12672 if let Some(x) = args.node {
12673 builder.add_node(x);
12674 }
12675 builder.add_node_type(args.node_type);
12676 builder.finish()
12677 }
12678
12679 #[inline]
12680 pub fn node_type(&self) -> OpNode {
12681 unsafe {
12685 self._tab
12686 .get::<OpNode>(PlanOp::VT_NODE_TYPE, Some(OpNode::NONE))
12687 .unwrap()
12688 }
12689 }
12690 #[inline]
12691 pub fn node(&self) -> Option<::flatbuffers::Table<'a>> {
12692 unsafe {
12696 self._tab
12697 .get::<::flatbuffers::ForwardsUOffset<::flatbuffers::Table<'a>>>(
12698 PlanOp::VT_NODE,
12699 None,
12700 )
12701 }
12702 }
12703 #[inline]
12704 #[allow(non_snake_case)]
12705 pub fn node_as_scan_nodes_op(&self) -> Option<ScanNodesOp<'a>> {
12706 if self.node_type() == OpNode::ScanNodesOp {
12707 self.node().map(|t| {
12708 unsafe { ScanNodesOp::init_from_table(t) }
12712 })
12713 } else {
12714 None
12715 }
12716 }
12717
12718 #[inline]
12719 #[allow(non_snake_case)]
12720 pub fn node_as_scan_rels_op(&self) -> Option<ScanRelsOp<'a>> {
12721 if self.node_type() == OpNode::ScanRelsOp {
12722 self.node().map(|t| {
12723 unsafe { ScanRelsOp::init_from_table(t) }
12727 })
12728 } else {
12729 None
12730 }
12731 }
12732
12733 #[inline]
12734 #[allow(non_snake_case)]
12735 pub fn node_as_expand_op(&self) -> Option<ExpandOp<'a>> {
12736 if self.node_type() == OpNode::ExpandOp {
12737 self.node().map(|t| {
12738 unsafe { ExpandOp::init_from_table(t) }
12742 })
12743 } else {
12744 None
12745 }
12746 }
12747
12748 #[inline]
12749 #[allow(non_snake_case)]
12750 pub fn node_as_optional_expand_op(&self) -> Option<OptionalExpandOp<'a>> {
12751 if self.node_type() == OpNode::OptionalExpandOp {
12752 self.node().map(|t| {
12753 unsafe { OptionalExpandOp::init_from_table(t) }
12757 })
12758 } else {
12759 None
12760 }
12761 }
12762
12763 #[inline]
12764 #[allow(non_snake_case)]
12765 pub fn node_as_semi_expand_op(&self) -> Option<SemiExpandOp<'a>> {
12766 if self.node_type() == OpNode::SemiExpandOp {
12767 self.node().map(|t| {
12768 unsafe { SemiExpandOp::init_from_table(t) }
12772 })
12773 } else {
12774 None
12775 }
12776 }
12777
12778 #[inline]
12779 #[allow(non_snake_case)]
12780 pub fn node_as_expand_var_len_op(&self) -> Option<ExpandVarLenOp<'a>> {
12781 if self.node_type() == OpNode::ExpandVarLenOp {
12782 self.node().map(|t| {
12783 unsafe { ExpandVarLenOp::init_from_table(t) }
12787 })
12788 } else {
12789 None
12790 }
12791 }
12792
12793 #[inline]
12794 #[allow(non_snake_case)]
12795 pub fn node_as_filter_op(&self) -> Option<FilterOp<'a>> {
12796 if self.node_type() == OpNode::FilterOp {
12797 self.node().map(|t| {
12798 unsafe { FilterOp::init_from_table(t) }
12802 })
12803 } else {
12804 None
12805 }
12806 }
12807
12808 #[inline]
12809 #[allow(non_snake_case)]
12810 pub fn node_as_block_marker_op(&self) -> Option<BlockMarkerOp<'a>> {
12811 if self.node_type() == OpNode::BlockMarkerOp {
12812 self.node().map(|t| {
12813 unsafe { BlockMarkerOp::init_from_table(t) }
12817 })
12818 } else {
12819 None
12820 }
12821 }
12822
12823 #[inline]
12824 #[allow(non_snake_case)]
12825 pub fn node_as_project_op(&self) -> Option<ProjectOp<'a>> {
12826 if self.node_type() == OpNode::ProjectOp {
12827 self.node().map(|t| {
12828 unsafe { ProjectOp::init_from_table(t) }
12832 })
12833 } else {
12834 None
12835 }
12836 }
12837
12838 #[inline]
12839 #[allow(non_snake_case)]
12840 pub fn node_as_aggregate_op(&self) -> Option<AggregateOp<'a>> {
12841 if self.node_type() == OpNode::AggregateOp {
12842 self.node().map(|t| {
12843 unsafe { AggregateOp::init_from_table(t) }
12847 })
12848 } else {
12849 None
12850 }
12851 }
12852
12853 #[inline]
12854 #[allow(non_snake_case)]
12855 pub fn node_as_sort_op(&self) -> Option<SortOp<'a>> {
12856 if self.node_type() == OpNode::SortOp {
12857 self.node().map(|t| {
12858 unsafe { SortOp::init_from_table(t) }
12862 })
12863 } else {
12864 None
12865 }
12866 }
12867
12868 #[inline]
12869 #[allow(non_snake_case)]
12870 pub fn node_as_limit_op(&self) -> Option<LimitOp<'a>> {
12871 if self.node_type() == OpNode::LimitOp {
12872 self.node().map(|t| {
12873 unsafe { LimitOp::init_from_table(t) }
12877 })
12878 } else {
12879 None
12880 }
12881 }
12882
12883 #[inline]
12884 #[allow(non_snake_case)]
12885 pub fn node_as_unwind_op(&self) -> Option<UnwindOp<'a>> {
12886 if self.node_type() == OpNode::UnwindOp {
12887 self.node().map(|t| {
12888 unsafe { UnwindOp::init_from_table(t) }
12892 })
12893 } else {
12894 None
12895 }
12896 }
12897
12898 #[inline]
12899 #[allow(non_snake_case)]
12900 pub fn node_as_path_construct_op(&self) -> Option<PathConstructOp<'a>> {
12901 if self.node_type() == OpNode::PathConstructOp {
12902 self.node().map(|t| {
12903 unsafe { PathConstructOp::init_from_table(t) }
12907 })
12908 } else {
12909 None
12910 }
12911 }
12912
12913 #[inline]
12914 #[allow(non_snake_case)]
12915 pub fn node_as_union_op(&self) -> Option<UnionOp<'a>> {
12916 if self.node_type() == OpNode::UnionOp {
12917 self.node().map(|t| {
12918 unsafe { UnionOp::init_from_table(t) }
12922 })
12923 } else {
12924 None
12925 }
12926 }
12927
12928 #[inline]
12929 #[allow(non_snake_case)]
12930 pub fn node_as_create_node_op(&self) -> Option<CreateNodeOp<'a>> {
12931 if self.node_type() == OpNode::CreateNodeOp {
12932 self.node().map(|t| {
12933 unsafe { CreateNodeOp::init_from_table(t) }
12937 })
12938 } else {
12939 None
12940 }
12941 }
12942
12943 #[inline]
12944 #[allow(non_snake_case)]
12945 pub fn node_as_create_rel_op(&self) -> Option<CreateRelOp<'a>> {
12946 if self.node_type() == OpNode::CreateRelOp {
12947 self.node().map(|t| {
12948 unsafe { CreateRelOp::init_from_table(t) }
12952 })
12953 } else {
12954 None
12955 }
12956 }
12957
12958 #[inline]
12959 #[allow(non_snake_case)]
12960 pub fn node_as_merge_op(&self) -> Option<MergeOp<'a>> {
12961 if self.node_type() == OpNode::MergeOp {
12962 self.node().map(|t| {
12963 unsafe { MergeOp::init_from_table(t) }
12967 })
12968 } else {
12969 None
12970 }
12971 }
12972
12973 #[inline]
12974 #[allow(non_snake_case)]
12975 pub fn node_as_delete_op(&self) -> Option<DeleteOp<'a>> {
12976 if self.node_type() == OpNode::DeleteOp {
12977 self.node().map(|t| {
12978 unsafe { DeleteOp::init_from_table(t) }
12982 })
12983 } else {
12984 None
12985 }
12986 }
12987
12988 #[inline]
12989 #[allow(non_snake_case)]
12990 pub fn node_as_set_property_op(&self) -> Option<SetPropertyOp<'a>> {
12991 if self.node_type() == OpNode::SetPropertyOp {
12992 self.node().map(|t| {
12993 unsafe { SetPropertyOp::init_from_table(t) }
12997 })
12998 } else {
12999 None
13000 }
13001 }
13002
13003 #[inline]
13004 #[allow(non_snake_case)]
13005 pub fn node_as_remove_property_op(&self) -> Option<RemovePropertyOp<'a>> {
13006 if self.node_type() == OpNode::RemovePropertyOp {
13007 self.node().map(|t| {
13008 unsafe { RemovePropertyOp::init_from_table(t) }
13012 })
13013 } else {
13014 None
13015 }
13016 }
13017
13018 #[inline]
13019 #[allow(non_snake_case)]
13020 pub fn node_as_vector_scan_op(&self) -> Option<VectorScanOp<'a>> {
13021 if self.node_type() == OpNode::VectorScanOp {
13022 self.node().map(|t| {
13023 unsafe { VectorScanOp::init_from_table(t) }
13027 })
13028 } else {
13029 None
13030 }
13031 }
13032
13033 #[inline]
13034 #[allow(non_snake_case)]
13035 pub fn node_as_rerank_op(&self) -> Option<RerankOp<'a>> {
13036 if self.node_type() == OpNode::RerankOp {
13037 self.node().map(|t| {
13038 unsafe { RerankOp::init_from_table(t) }
13042 })
13043 } else {
13044 None
13045 }
13046 }
13047
13048 #[inline]
13049 #[allow(non_snake_case)]
13050 pub fn node_as_return_op(&self) -> Option<ReturnOp<'a>> {
13051 if self.node_type() == OpNode::ReturnOp {
13052 self.node().map(|t| {
13053 unsafe { ReturnOp::init_from_table(t) }
13057 })
13058 } else {
13059 None
13060 }
13061 }
13062
13063 #[inline]
13064 #[allow(non_snake_case)]
13065 pub fn node_as_const_row_op(&self) -> Option<ConstRowOp<'a>> {
13066 if self.node_type() == OpNode::ConstRowOp {
13067 self.node().map(|t| {
13068 unsafe { ConstRowOp::init_from_table(t) }
13072 })
13073 } else {
13074 None
13075 }
13076 }
13077 }
13078
13079 impl ::flatbuffers::Verifiable for PlanOp<'_> {
13080 #[inline]
13081 fn run_verifier(
13082 v: &mut ::flatbuffers::Verifier,
13083 pos: usize,
13084 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
13085 v.visit_table(pos)?
13086 .visit_union::<OpNode, _>("node_type", Self::VT_NODE_TYPE, "node", Self::VT_NODE, false, |key, v, pos| {
13087 match key {
13088 OpNode::ScanNodesOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ScanNodesOp>>("OpNode::ScanNodesOp", pos),
13089 OpNode::ScanRelsOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ScanRelsOp>>("OpNode::ScanRelsOp", pos),
13090 OpNode::ExpandOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ExpandOp>>("OpNode::ExpandOp", pos),
13091 OpNode::OptionalExpandOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<OptionalExpandOp>>("OpNode::OptionalExpandOp", pos),
13092 OpNode::SemiExpandOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<SemiExpandOp>>("OpNode::SemiExpandOp", pos),
13093 OpNode::ExpandVarLenOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ExpandVarLenOp>>("OpNode::ExpandVarLenOp", pos),
13094 OpNode::FilterOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<FilterOp>>("OpNode::FilterOp", pos),
13095 OpNode::BlockMarkerOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<BlockMarkerOp>>("OpNode::BlockMarkerOp", pos),
13096 OpNode::ProjectOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ProjectOp>>("OpNode::ProjectOp", pos),
13097 OpNode::AggregateOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<AggregateOp>>("OpNode::AggregateOp", pos),
13098 OpNode::SortOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<SortOp>>("OpNode::SortOp", pos),
13099 OpNode::LimitOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<LimitOp>>("OpNode::LimitOp", pos),
13100 OpNode::UnwindOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<UnwindOp>>("OpNode::UnwindOp", pos),
13101 OpNode::PathConstructOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<PathConstructOp>>("OpNode::PathConstructOp", pos),
13102 OpNode::UnionOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<UnionOp>>("OpNode::UnionOp", pos),
13103 OpNode::CreateNodeOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<CreateNodeOp>>("OpNode::CreateNodeOp", pos),
13104 OpNode::CreateRelOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<CreateRelOp>>("OpNode::CreateRelOp", pos),
13105 OpNode::MergeOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<MergeOp>>("OpNode::MergeOp", pos),
13106 OpNode::DeleteOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<DeleteOp>>("OpNode::DeleteOp", pos),
13107 OpNode::SetPropertyOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<SetPropertyOp>>("OpNode::SetPropertyOp", pos),
13108 OpNode::RemovePropertyOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<RemovePropertyOp>>("OpNode::RemovePropertyOp", pos),
13109 OpNode::VectorScanOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<VectorScanOp>>("OpNode::VectorScanOp", pos),
13110 OpNode::RerankOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<RerankOp>>("OpNode::RerankOp", pos),
13111 OpNode::ReturnOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ReturnOp>>("OpNode::ReturnOp", pos),
13112 OpNode::ConstRowOp => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ConstRowOp>>("OpNode::ConstRowOp", pos),
13113 _ => Ok(()),
13114 }
13115 })?
13116 .finish();
13117 Ok(())
13118 }
13119 }
13120 pub struct PlanOpArgs {
13121 pub node_type: OpNode,
13122 pub node: Option<::flatbuffers::WIPOffset<::flatbuffers::UnionWIPOffset>>,
13123 }
13124 impl<'a> Default for PlanOpArgs {
13125 #[inline]
13126 fn default() -> Self {
13127 PlanOpArgs {
13128 node_type: OpNode::NONE,
13129 node: None,
13130 }
13131 }
13132 }
13133
13134 pub struct PlanOpBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
13135 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
13136 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
13137 }
13138 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> PlanOpBuilder<'a, 'b, A> {
13139 #[inline]
13140 pub fn add_node_type(&mut self, node_type: OpNode) {
13141 self.fbb_
13142 .push_slot::<OpNode>(PlanOp::VT_NODE_TYPE, node_type, OpNode::NONE);
13143 }
13144 #[inline]
13145 pub fn add_node(&mut self, node: ::flatbuffers::WIPOffset<::flatbuffers::UnionWIPOffset>) {
13146 self.fbb_
13147 .push_slot_always::<::flatbuffers::WIPOffset<_>>(PlanOp::VT_NODE, node);
13148 }
13149 #[inline]
13150 pub fn new(
13151 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
13152 ) -> PlanOpBuilder<'a, 'b, A> {
13153 let start = _fbb.start_table();
13154 PlanOpBuilder {
13155 fbb_: _fbb,
13156 start_: start,
13157 }
13158 }
13159 #[inline]
13160 pub fn finish(self) -> ::flatbuffers::WIPOffset<PlanOp<'a>> {
13161 let o = self.fbb_.end_table(self.start_);
13162 ::flatbuffers::WIPOffset::new(o.value())
13163 }
13164 }
13165
13166 impl ::core::fmt::Debug for PlanOp<'_> {
13167 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13168 let mut ds = f.debug_struct("PlanOp");
13169 ds.field("node_type", &self.node_type());
13170 match self.node_type() {
13171 OpNode::ScanNodesOp => {
13172 if let Some(x) = self.node_as_scan_nodes_op() {
13173 ds.field("node", &x)
13174 } else {
13175 ds.field(
13176 "node",
13177 &"InvalidFlatbuffer: Union discriminant does not match value.",
13178 )
13179 }
13180 }
13181 OpNode::ScanRelsOp => {
13182 if let Some(x) = self.node_as_scan_rels_op() {
13183 ds.field("node", &x)
13184 } else {
13185 ds.field(
13186 "node",
13187 &"InvalidFlatbuffer: Union discriminant does not match value.",
13188 )
13189 }
13190 }
13191 OpNode::ExpandOp => {
13192 if let Some(x) = self.node_as_expand_op() {
13193 ds.field("node", &x)
13194 } else {
13195 ds.field(
13196 "node",
13197 &"InvalidFlatbuffer: Union discriminant does not match value.",
13198 )
13199 }
13200 }
13201 OpNode::OptionalExpandOp => {
13202 if let Some(x) = self.node_as_optional_expand_op() {
13203 ds.field("node", &x)
13204 } else {
13205 ds.field(
13206 "node",
13207 &"InvalidFlatbuffer: Union discriminant does not match value.",
13208 )
13209 }
13210 }
13211 OpNode::SemiExpandOp => {
13212 if let Some(x) = self.node_as_semi_expand_op() {
13213 ds.field("node", &x)
13214 } else {
13215 ds.field(
13216 "node",
13217 &"InvalidFlatbuffer: Union discriminant does not match value.",
13218 )
13219 }
13220 }
13221 OpNode::ExpandVarLenOp => {
13222 if let Some(x) = self.node_as_expand_var_len_op() {
13223 ds.field("node", &x)
13224 } else {
13225 ds.field(
13226 "node",
13227 &"InvalidFlatbuffer: Union discriminant does not match value.",
13228 )
13229 }
13230 }
13231 OpNode::FilterOp => {
13232 if let Some(x) = self.node_as_filter_op() {
13233 ds.field("node", &x)
13234 } else {
13235 ds.field(
13236 "node",
13237 &"InvalidFlatbuffer: Union discriminant does not match value.",
13238 )
13239 }
13240 }
13241 OpNode::BlockMarkerOp => {
13242 if let Some(x) = self.node_as_block_marker_op() {
13243 ds.field("node", &x)
13244 } else {
13245 ds.field(
13246 "node",
13247 &"InvalidFlatbuffer: Union discriminant does not match value.",
13248 )
13249 }
13250 }
13251 OpNode::ProjectOp => {
13252 if let Some(x) = self.node_as_project_op() {
13253 ds.field("node", &x)
13254 } else {
13255 ds.field(
13256 "node",
13257 &"InvalidFlatbuffer: Union discriminant does not match value.",
13258 )
13259 }
13260 }
13261 OpNode::AggregateOp => {
13262 if let Some(x) = self.node_as_aggregate_op() {
13263 ds.field("node", &x)
13264 } else {
13265 ds.field(
13266 "node",
13267 &"InvalidFlatbuffer: Union discriminant does not match value.",
13268 )
13269 }
13270 }
13271 OpNode::SortOp => {
13272 if let Some(x) = self.node_as_sort_op() {
13273 ds.field("node", &x)
13274 } else {
13275 ds.field(
13276 "node",
13277 &"InvalidFlatbuffer: Union discriminant does not match value.",
13278 )
13279 }
13280 }
13281 OpNode::LimitOp => {
13282 if let Some(x) = self.node_as_limit_op() {
13283 ds.field("node", &x)
13284 } else {
13285 ds.field(
13286 "node",
13287 &"InvalidFlatbuffer: Union discriminant does not match value.",
13288 )
13289 }
13290 }
13291 OpNode::UnwindOp => {
13292 if let Some(x) = self.node_as_unwind_op() {
13293 ds.field("node", &x)
13294 } else {
13295 ds.field(
13296 "node",
13297 &"InvalidFlatbuffer: Union discriminant does not match value.",
13298 )
13299 }
13300 }
13301 OpNode::PathConstructOp => {
13302 if let Some(x) = self.node_as_path_construct_op() {
13303 ds.field("node", &x)
13304 } else {
13305 ds.field(
13306 "node",
13307 &"InvalidFlatbuffer: Union discriminant does not match value.",
13308 )
13309 }
13310 }
13311 OpNode::UnionOp => {
13312 if let Some(x) = self.node_as_union_op() {
13313 ds.field("node", &x)
13314 } else {
13315 ds.field(
13316 "node",
13317 &"InvalidFlatbuffer: Union discriminant does not match value.",
13318 )
13319 }
13320 }
13321 OpNode::CreateNodeOp => {
13322 if let Some(x) = self.node_as_create_node_op() {
13323 ds.field("node", &x)
13324 } else {
13325 ds.field(
13326 "node",
13327 &"InvalidFlatbuffer: Union discriminant does not match value.",
13328 )
13329 }
13330 }
13331 OpNode::CreateRelOp => {
13332 if let Some(x) = self.node_as_create_rel_op() {
13333 ds.field("node", &x)
13334 } else {
13335 ds.field(
13336 "node",
13337 &"InvalidFlatbuffer: Union discriminant does not match value.",
13338 )
13339 }
13340 }
13341 OpNode::MergeOp => {
13342 if let Some(x) = self.node_as_merge_op() {
13343 ds.field("node", &x)
13344 } else {
13345 ds.field(
13346 "node",
13347 &"InvalidFlatbuffer: Union discriminant does not match value.",
13348 )
13349 }
13350 }
13351 OpNode::DeleteOp => {
13352 if let Some(x) = self.node_as_delete_op() {
13353 ds.field("node", &x)
13354 } else {
13355 ds.field(
13356 "node",
13357 &"InvalidFlatbuffer: Union discriminant does not match value.",
13358 )
13359 }
13360 }
13361 OpNode::SetPropertyOp => {
13362 if let Some(x) = self.node_as_set_property_op() {
13363 ds.field("node", &x)
13364 } else {
13365 ds.field(
13366 "node",
13367 &"InvalidFlatbuffer: Union discriminant does not match value.",
13368 )
13369 }
13370 }
13371 OpNode::RemovePropertyOp => {
13372 if let Some(x) = self.node_as_remove_property_op() {
13373 ds.field("node", &x)
13374 } else {
13375 ds.field(
13376 "node",
13377 &"InvalidFlatbuffer: Union discriminant does not match value.",
13378 )
13379 }
13380 }
13381 OpNode::VectorScanOp => {
13382 if let Some(x) = self.node_as_vector_scan_op() {
13383 ds.field("node", &x)
13384 } else {
13385 ds.field(
13386 "node",
13387 &"InvalidFlatbuffer: Union discriminant does not match value.",
13388 )
13389 }
13390 }
13391 OpNode::RerankOp => {
13392 if let Some(x) = self.node_as_rerank_op() {
13393 ds.field("node", &x)
13394 } else {
13395 ds.field(
13396 "node",
13397 &"InvalidFlatbuffer: Union discriminant does not match value.",
13398 )
13399 }
13400 }
13401 OpNode::ReturnOp => {
13402 if let Some(x) = self.node_as_return_op() {
13403 ds.field("node", &x)
13404 } else {
13405 ds.field(
13406 "node",
13407 &"InvalidFlatbuffer: Union discriminant does not match value.",
13408 )
13409 }
13410 }
13411 OpNode::ConstRowOp => {
13412 if let Some(x) = self.node_as_const_row_op() {
13413 ds.field("node", &x)
13414 } else {
13415 ds.field(
13416 "node",
13417 &"InvalidFlatbuffer: Union discriminant does not match value.",
13418 )
13419 }
13420 }
13421 _ => {
13422 let x: Option<()> = None;
13423 ds.field("node", &x)
13424 }
13425 };
13426 ds.finish()
13427 }
13428 }
13429 pub enum PlexusPlanOffset {}
13430 #[derive(Copy, Clone, PartialEq)]
13431
13432 pub struct PlexusPlan<'a> {
13434 pub _tab: ::flatbuffers::Table<'a>,
13435 }
13436
13437 impl<'a> ::flatbuffers::Follow<'a> for PlexusPlan<'a> {
13438 type Inner = PlexusPlan<'a>;
13439 #[inline]
13440 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13441 Self {
13442 _tab: unsafe { ::flatbuffers::Table::new(buf, loc) },
13443 }
13444 }
13445 }
13446
13447 impl<'a> PlexusPlan<'a> {
13448 pub const VT_VERSION: ::flatbuffers::VOffsetT = 4;
13449 pub const VT_OPS: ::flatbuffers::VOffsetT = 6;
13450 pub const VT_ROOT_OP: ::flatbuffers::VOffsetT = 8;
13451
13452 #[inline]
13453 pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
13454 PlexusPlan { _tab: table }
13455 }
13456 #[allow(unused_mut)]
13457 pub fn create<
13458 'bldr: 'args,
13459 'args: 'mut_bldr,
13460 'mut_bldr,
13461 A: ::flatbuffers::Allocator + 'bldr,
13462 >(
13463 _fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
13464 args: &'args PlexusPlanArgs<'args>,
13465 ) -> ::flatbuffers::WIPOffset<PlexusPlan<'bldr>> {
13466 let mut builder = PlexusPlanBuilder::new(_fbb);
13467 builder.add_root_op(args.root_op);
13468 if let Some(x) = args.ops {
13469 builder.add_ops(x);
13470 }
13471 if let Some(x) = args.version {
13472 builder.add_version(x);
13473 }
13474 builder.finish()
13475 }
13476
13477 #[inline]
13478 pub fn version(&self) -> Version<'a> {
13479 unsafe {
13483 self._tab
13484 .get::<::flatbuffers::ForwardsUOffset<Version>>(PlexusPlan::VT_VERSION, None)
13485 .unwrap()
13486 }
13487 }
13488 #[inline]
13489 pub fn ops(
13490 &self,
13491 ) -> Option<::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<PlanOp<'a>>>> {
13492 unsafe {
13496 self._tab.get::<::flatbuffers::ForwardsUOffset<
13497 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<PlanOp>>,
13498 >>(PlexusPlan::VT_OPS, None)
13499 }
13500 }
13501 #[inline]
13502 pub fn root_op(&self) -> u32 {
13503 unsafe {
13507 self._tab
13508 .get::<u32>(PlexusPlan::VT_ROOT_OP, Some(0))
13509 .unwrap()
13510 }
13511 }
13512 }
13513
13514 impl ::flatbuffers::Verifiable for PlexusPlan<'_> {
13515 #[inline]
13516 fn run_verifier(
13517 v: &mut ::flatbuffers::Verifier,
13518 pos: usize,
13519 ) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
13520 v.visit_table(pos)?
13521 .visit_field::<::flatbuffers::ForwardsUOffset<Version>>(
13522 "version",
13523 Self::VT_VERSION,
13524 true,
13525 )?
13526 .visit_field::<::flatbuffers::ForwardsUOffset<
13527 ::flatbuffers::Vector<'_, ::flatbuffers::ForwardsUOffset<PlanOp>>,
13528 >>("ops", Self::VT_OPS, false)?
13529 .visit_field::<u32>("root_op", Self::VT_ROOT_OP, false)?
13530 .finish();
13531 Ok(())
13532 }
13533 }
13534 pub struct PlexusPlanArgs<'a> {
13535 pub version: Option<::flatbuffers::WIPOffset<Version<'a>>>,
13536 pub ops: Option<
13537 ::flatbuffers::WIPOffset<
13538 ::flatbuffers::Vector<'a, ::flatbuffers::ForwardsUOffset<PlanOp<'a>>>,
13539 >,
13540 >,
13541 pub root_op: u32,
13542 }
13543 impl<'a> Default for PlexusPlanArgs<'a> {
13544 #[inline]
13545 fn default() -> Self {
13546 PlexusPlanArgs {
13547 version: None, ops: None,
13549 root_op: 0,
13550 }
13551 }
13552 }
13553
13554 pub struct PlexusPlanBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
13555 fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
13556 start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
13557 }
13558 impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> PlexusPlanBuilder<'a, 'b, A> {
13559 #[inline]
13560 pub fn add_version(&mut self, version: ::flatbuffers::WIPOffset<Version<'b>>) {
13561 self.fbb_
13562 .push_slot_always::<::flatbuffers::WIPOffset<Version>>(
13563 PlexusPlan::VT_VERSION,
13564 version,
13565 );
13566 }
13567 #[inline]
13568 pub fn add_ops(
13569 &mut self,
13570 ops: ::flatbuffers::WIPOffset<
13571 ::flatbuffers::Vector<'b, ::flatbuffers::ForwardsUOffset<PlanOp<'b>>>,
13572 >,
13573 ) {
13574 self.fbb_
13575 .push_slot_always::<::flatbuffers::WIPOffset<_>>(PlexusPlan::VT_OPS, ops);
13576 }
13577 #[inline]
13578 pub fn add_root_op(&mut self, root_op: u32) {
13579 self.fbb_
13580 .push_slot::<u32>(PlexusPlan::VT_ROOT_OP, root_op, 0);
13581 }
13582 #[inline]
13583 pub fn new(
13584 _fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
13585 ) -> PlexusPlanBuilder<'a, 'b, A> {
13586 let start = _fbb.start_table();
13587 PlexusPlanBuilder {
13588 fbb_: _fbb,
13589 start_: start,
13590 }
13591 }
13592 #[inline]
13593 pub fn finish(self) -> ::flatbuffers::WIPOffset<PlexusPlan<'a>> {
13594 let o = self.fbb_.end_table(self.start_);
13595 self.fbb_.required(o, PlexusPlan::VT_VERSION, "version");
13596 ::flatbuffers::WIPOffset::new(o.value())
13597 }
13598 }
13599
13600 impl ::core::fmt::Debug for PlexusPlan<'_> {
13601 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13602 let mut ds = f.debug_struct("PlexusPlan");
13603 ds.field("version", &self.version());
13604 ds.field("ops", &self.ops());
13605 ds.field("root_op", &self.root_op());
13606 ds.finish()
13607 }
13608 }
13609 #[inline]
13610 pub fn root_as_plexus_plan(
13617 buf: &[u8],
13618 ) -> Result<PlexusPlan<'_>, ::flatbuffers::InvalidFlatbuffer> {
13619 ::flatbuffers::root::<PlexusPlan>(buf)
13620 }
13621 #[inline]
13622 pub fn size_prefixed_root_as_plexus_plan(
13629 buf: &[u8],
13630 ) -> Result<PlexusPlan<'_>, ::flatbuffers::InvalidFlatbuffer> {
13631 ::flatbuffers::size_prefixed_root::<PlexusPlan>(buf)
13632 }
13633 #[inline]
13634 pub fn root_as_plexus_plan_with_opts<'b, 'o>(
13641 opts: &'o ::flatbuffers::VerifierOptions,
13642 buf: &'b [u8],
13643 ) -> Result<PlexusPlan<'b>, ::flatbuffers::InvalidFlatbuffer> {
13644 ::flatbuffers::root_with_opts::<PlexusPlan<'b>>(opts, buf)
13645 }
13646 #[inline]
13647 pub fn size_prefixed_root_as_plexus_plan_with_opts<'b, 'o>(
13654 opts: &'o ::flatbuffers::VerifierOptions,
13655 buf: &'b [u8],
13656 ) -> Result<PlexusPlan<'b>, ::flatbuffers::InvalidFlatbuffer> {
13657 ::flatbuffers::size_prefixed_root_with_opts::<PlexusPlan<'b>>(opts, buf)
13658 }
13659 #[inline]
13660 pub unsafe fn root_as_plexus_plan_unchecked(buf: &[u8]) -> PlexusPlan<'_> {
13664 unsafe { ::flatbuffers::root_unchecked::<PlexusPlan>(buf) }
13665 }
13666 #[inline]
13667 pub unsafe fn size_prefixed_root_as_plexus_plan_unchecked(buf: &[u8]) -> PlexusPlan<'_> {
13671 unsafe { ::flatbuffers::size_prefixed_root_unchecked::<PlexusPlan>(buf) }
13672 }
13673 pub const PLEXUS_PLAN_IDENTIFIER: &str = "PLXS";
13674
13675 #[inline]
13676 pub fn plexus_plan_buffer_has_identifier(buf: &[u8]) -> bool {
13677 ::flatbuffers::buffer_has_identifier(buf, PLEXUS_PLAN_IDENTIFIER, false)
13678 }
13679
13680 #[inline]
13681 pub fn plexus_plan_size_prefixed_buffer_has_identifier(buf: &[u8]) -> bool {
13682 ::flatbuffers::buffer_has_identifier(buf, PLEXUS_PLAN_IDENTIFIER, true)
13683 }
13684
13685 pub const PLEXUS_PLAN_EXTENSION: &str = "plexus";
13686
13687 #[inline]
13688 pub fn finish_plexus_plan_buffer<'a, 'b, A: ::flatbuffers::Allocator + 'a>(
13689 fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
13690 root: ::flatbuffers::WIPOffset<PlexusPlan<'a>>,
13691 ) {
13692 fbb.finish(root, Some(PLEXUS_PLAN_IDENTIFIER));
13693 }
13694
13695 #[inline]
13696 pub fn finish_size_prefixed_plexus_plan_buffer<'a, 'b, A: ::flatbuffers::Allocator + 'a>(
13697 fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
13698 root: ::flatbuffers::WIPOffset<PlexusPlan<'a>>,
13699 ) {
13700 fbb.finish_size_prefixed(root, Some(PLEXUS_PLAN_IDENTIFIER));
13701 }
13702}