pg_query 5.0.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (898) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +27 -0
  3. data/README.md +1 -1
  4. data/Rakefile +3 -4
  5. data/ext/pg_query/extconf.rb +14 -4
  6. data/ext/pg_query/include/pg_query.h +4 -3
  7. data/ext/pg_query/include/pg_query_enum_defs.c +424 -154
  8. data/ext/pg_query/include/pg_query_fingerprint_conds.c +68 -4
  9. data/ext/pg_query/include/pg_query_fingerprint_defs.c +2901 -1794
  10. data/ext/pg_query/include/pg_query_outfuncs_conds.c +51 -3
  11. data/ext/pg_query/include/pg_query_outfuncs_defs.c +211 -24
  12. data/ext/pg_query/include/pg_query_readfuncs_conds.c +17 -1
  13. data/ext/pg_query/include/pg_query_readfuncs_defs.c +272 -53
  14. data/ext/pg_query/include/postgres/access/amapi.h +299 -0
  15. data/ext/pg_query/include/postgres/access/attmap.h +54 -0
  16. data/ext/pg_query/include/postgres/access/attnum.h +64 -0
  17. data/ext/pg_query/include/postgres/access/brin_internal.h +116 -0
  18. data/ext/pg_query/include/postgres/access/brin_tuple.h +112 -0
  19. data/ext/pg_query/include/postgres/access/clog.h +62 -0
  20. data/ext/pg_query/include/postgres/access/commit_ts.h +73 -0
  21. data/ext/pg_query/include/postgres/access/detoast.h +82 -0
  22. data/ext/pg_query/include/postgres/access/genam.h +237 -0
  23. data/ext/pg_query/include/postgres/access/gin.h +91 -0
  24. data/ext/pg_query/include/postgres/access/htup.h +89 -0
  25. data/ext/pg_query/include/postgres/access/htup_details.h +811 -0
  26. data/ext/pg_query/include/postgres/access/itup.h +170 -0
  27. data/ext/pg_query/include/postgres/access/parallel.h +81 -0
  28. data/ext/pg_query/include/postgres/access/printtup.h +35 -0
  29. data/ext/pg_query/include/postgres/access/relation.h +28 -0
  30. data/ext/pg_query/include/postgres/access/relscan.h +191 -0
  31. data/ext/pg_query/include/postgres/access/rmgrlist.h +49 -0
  32. data/ext/pg_query/include/postgres/access/sdir.h +67 -0
  33. data/ext/pg_query/include/postgres/access/skey.h +151 -0
  34. data/ext/pg_query/include/postgres/access/slru.h +221 -0
  35. data/ext/pg_query/include/postgres/access/stratnum.h +85 -0
  36. data/ext/pg_query/include/postgres/access/sysattr.h +29 -0
  37. data/ext/pg_query/include/postgres/access/table.h +28 -0
  38. data/ext/pg_query/include/postgres/access/tableam.h +2109 -0
  39. data/ext/pg_query/include/postgres/access/tidstore.h +50 -0
  40. data/ext/pg_query/include/postgres/access/toast_compression.h +73 -0
  41. data/ext/pg_query/include/postgres/access/transam.h +375 -0
  42. data/ext/pg_query/include/postgres/access/tsmapi.h +82 -0
  43. data/ext/pg_query/include/postgres/access/tupconvert.h +54 -0
  44. data/ext/pg_query/include/postgres/access/tupdesc.h +154 -0
  45. data/ext/pg_query/include/postgres/access/tupmacs.h +207 -0
  46. data/ext/pg_query/include/postgres/access/twophase.h +65 -0
  47. data/ext/pg_query/include/postgres/access/xact.h +530 -0
  48. data/ext/pg_query/include/postgres/access/xlog.h +310 -0
  49. data/ext/pg_query/include/postgres/access/xlog_internal.h +405 -0
  50. data/ext/pg_query/include/postgres/access/xlogbackup.h +43 -0
  51. data/ext/pg_query/include/postgres/access/xlogdefs.h +82 -0
  52. data/ext/pg_query/include/postgres/access/xlogprefetcher.h +55 -0
  53. data/ext/pg_query/include/postgres/access/xlogreader.h +444 -0
  54. data/ext/pg_query/include/postgres/access/xlogrecord.h +248 -0
  55. data/ext/pg_query/include/postgres/access/xlogrecovery.h +158 -0
  56. data/ext/pg_query/include/postgres/archive/archive_module.h +67 -0
  57. data/ext/pg_query/include/postgres/c.h +1374 -0
  58. data/ext/pg_query/include/postgres/catalog/catalog.h +47 -0
  59. data/ext/pg_query/include/postgres/catalog/catversion.h +62 -0
  60. data/ext/pg_query/include/postgres/catalog/dependency.h +228 -0
  61. data/ext/pg_query/include/postgres/catalog/genbki.h +149 -0
  62. data/ext/pg_query/include/postgres/catalog/index.h +218 -0
  63. data/ext/pg_query/include/postgres/catalog/indexing.h +54 -0
  64. data/ext/pg_query/include/postgres/catalog/namespace.h +189 -0
  65. data/ext/pg_query/include/postgres/catalog/objectaccess.h +267 -0
  66. data/ext/pg_query/include/postgres/catalog/objectaddress.h +89 -0
  67. data/ext/pg_query/include/postgres/catalog/pg_aggregate.h +182 -0
  68. data/ext/pg_query/include/postgres/catalog/pg_aggregate_d.h +78 -0
  69. data/ext/pg_query/include/postgres/catalog/pg_am.h +66 -0
  70. data/ext/pg_query/include/postgres/catalog/pg_am_d.h +47 -0
  71. data/ext/pg_query/include/postgres/catalog/pg_attribute.h +240 -0
  72. data/ext/pg_query/include/postgres/catalog/pg_attribute_d.h +62 -0
  73. data/ext/pg_query/include/postgres/catalog/pg_authid.h +66 -0
  74. data/ext/pg_query/include/postgres/catalog/pg_authid_d.h +60 -0
  75. data/ext/pg_query/include/postgres/catalog/pg_class.h +235 -0
  76. data/ext/pg_query/include/postgres/catalog/pg_class_d.h +134 -0
  77. data/ext/pg_query/include/postgres/catalog/pg_collation.h +106 -0
  78. data/ext/pg_query/include/postgres/catalog/pg_collation_d.h +66 -0
  79. data/ext/pg_query/include/postgres/catalog/pg_constraint.h +278 -0
  80. data/ext/pg_query/include/postgres/catalog/pg_constraint_d.h +74 -0
  81. data/ext/pg_query/include/postgres/catalog/pg_control.h +260 -0
  82. data/ext/pg_query/include/postgres/catalog/pg_conversion.h +79 -0
  83. data/ext/pg_query/include/postgres/catalog/pg_conversion_d.h +38 -0
  84. data/ext/pg_query/include/postgres/catalog/pg_database.h +129 -0
  85. data/ext/pg_query/include/postgres/catalog/pg_database_d.h +53 -0
  86. data/ext/pg_query/include/postgres/catalog/pg_depend.h +77 -0
  87. data/ext/pg_query/include/postgres/catalog/pg_depend_d.h +36 -0
  88. data/ext/pg_query/include/postgres/catalog/pg_event_trigger.h +60 -0
  89. data/ext/pg_query/include/postgres/catalog/pg_event_trigger_d.h +36 -0
  90. data/ext/pg_query/include/postgres/catalog/pg_index.h +92 -0
  91. data/ext/pg_query/include/postgres/catalog/pg_index_d.h +59 -0
  92. data/ext/pg_query/include/postgres/catalog/pg_language.h +75 -0
  93. data/ext/pg_query/include/postgres/catalog/pg_language_d.h +41 -0
  94. data/ext/pg_query/include/postgres/catalog/pg_namespace.h +67 -0
  95. data/ext/pg_query/include/postgres/catalog/pg_namespace_d.h +36 -0
  96. data/ext/pg_query/include/postgres/catalog/pg_opclass.h +91 -0
  97. data/ext/pg_query/include/postgres/catalog/pg_opclass_d.h +51 -0
  98. data/ext/pg_query/include/postgres/catalog/pg_operator.h +124 -0
  99. data/ext/pg_query/include/postgres/catalog/pg_operator_d.h +142 -0
  100. data/ext/pg_query/include/postgres/catalog/pg_opfamily.h +67 -0
  101. data/ext/pg_query/include/postgres/catalog/pg_opfamily_d.h +51 -0
  102. data/ext/pg_query/include/postgres/catalog/pg_partitioned_table.h +76 -0
  103. data/ext/pg_query/include/postgres/catalog/pg_partitioned_table_d.h +36 -0
  104. data/ext/pg_query/include/postgres/catalog/pg_proc.h +223 -0
  105. data/ext/pg_query/include/postgres/catalog/pg_proc_d.h +101 -0
  106. data/ext/pg_query/include/postgres/catalog/pg_publication.h +161 -0
  107. data/ext/pg_query/include/postgres/catalog/pg_publication_d.h +38 -0
  108. data/ext/pg_query/include/postgres/catalog/pg_replication_origin.h +65 -0
  109. data/ext/pg_query/include/postgres/catalog/pg_replication_origin_d.h +33 -0
  110. data/ext/pg_query/include/postgres/catalog/pg_statistic.h +288 -0
  111. data/ext/pg_query/include/postgres/catalog/pg_statistic_d.h +199 -0
  112. data/ext/pg_query/include/postgres/catalog/pg_statistic_ext.h +91 -0
  113. data/ext/pg_query/include/postgres/catalog/pg_statistic_ext_d.h +45 -0
  114. data/ext/pg_query/include/postgres/catalog/pg_transform.h +51 -0
  115. data/ext/pg_query/include/postgres/catalog/pg_transform_d.h +34 -0
  116. data/ext/pg_query/include/postgres/catalog/pg_trigger.h +153 -0
  117. data/ext/pg_query/include/postgres/catalog/pg_trigger_d.h +109 -0
  118. data/ext/pg_query/include/postgres/catalog/pg_ts_config.h +56 -0
  119. data/ext/pg_query/include/postgres/catalog/pg_ts_config_d.h +34 -0
  120. data/ext/pg_query/include/postgres/catalog/pg_ts_dict.h +62 -0
  121. data/ext/pg_query/include/postgres/catalog/pg_ts_dict_d.h +35 -0
  122. data/ext/pg_query/include/postgres/catalog/pg_ts_parser.h +63 -0
  123. data/ext/pg_query/include/postgres/catalog/pg_ts_parser_d.h +37 -0
  124. data/ext/pg_query/include/postgres/catalog/pg_ts_template.h +54 -0
  125. data/ext/pg_query/include/postgres/catalog/pg_ts_template_d.h +34 -0
  126. data/ext/pg_query/include/postgres/catalog/pg_type.h +407 -0
  127. data/ext/pg_query/include/postgres/catalog/pg_type_d.h +324 -0
  128. data/ext/pg_query/include/postgres/catalog/storage.h +50 -0
  129. data/ext/pg_query/include/postgres/catalog/syscache_ids.h +104 -0
  130. data/ext/pg_query/include/postgres/commands/async.h +49 -0
  131. data/ext/pg_query/include/postgres/commands/dbcommands.h +37 -0
  132. data/ext/pg_query/include/postgres/commands/defrem.h +161 -0
  133. data/ext/pg_query/include/postgres/commands/event_trigger.h +91 -0
  134. data/ext/pg_query/include/postgres/commands/explain.h +145 -0
  135. data/ext/pg_query/include/postgres/commands/prepare.h +61 -0
  136. data/ext/pg_query/include/postgres/commands/tablespace.h +69 -0
  137. data/ext/pg_query/include/postgres/commands/trigger.h +288 -0
  138. data/ext/pg_query/include/postgres/commands/vacuum.h +388 -0
  139. data/ext/pg_query/include/postgres/common/cryptohash.h +39 -0
  140. data/ext/pg_query/include/postgres/common/file_perm.h +56 -0
  141. data/ext/pg_query/include/postgres/common/file_utils.h +65 -0
  142. data/ext/pg_query/include/postgres/common/hashfn.h +119 -0
  143. data/ext/pg_query/include/postgres/common/hashfn_unstable.h +453 -0
  144. data/ext/pg_query/include/postgres/common/int.h +512 -0
  145. data/ext/pg_query/include/postgres/common/keywords.h +29 -0
  146. data/ext/pg_query/include/postgres/common/kwlookup.h +44 -0
  147. data/ext/pg_query/include/postgres/common/pg_prng.h +62 -0
  148. data/ext/pg_query/include/postgres/common/relpath.h +97 -0
  149. data/ext/pg_query/include/postgres/common/scram-common.h +70 -0
  150. data/ext/pg_query/include/postgres/common/sha2.h +32 -0
  151. data/ext/pg_query/include/postgres/common/string.h +44 -0
  152. data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +124 -0
  153. data/ext/pg_query/include/postgres/copyfuncs.funcs.c +5261 -0
  154. data/ext/pg_query/include/postgres/copyfuncs.switch.c +989 -0
  155. data/ext/pg_query/include/postgres/datatype/timestamp.h +269 -0
  156. data/ext/pg_query/include/postgres/equalfuncs.funcs.c +3310 -0
  157. data/ext/pg_query/include/postgres/equalfuncs.switch.c +836 -0
  158. data/ext/pg_query/include/postgres/executor/execdesc.h +70 -0
  159. data/ext/pg_query/include/postgres/executor/executor.h +681 -0
  160. data/ext/pg_query/include/postgres/executor/functions.h +56 -0
  161. data/ext/pg_query/include/postgres/executor/instrument.h +120 -0
  162. data/ext/pg_query/include/postgres/executor/spi.h +207 -0
  163. data/ext/pg_query/include/postgres/executor/tablefunc.h +67 -0
  164. data/ext/pg_query/include/postgres/executor/tuptable.h +523 -0
  165. data/ext/pg_query/include/postgres/fmgr.h +800 -0
  166. data/ext/pg_query/include/postgres/foreign/fdwapi.h +294 -0
  167. data/ext/pg_query/include/postgres/funcapi.h +360 -0
  168. data/ext/pg_query/include/postgres/gram.h +1168 -0
  169. data/ext/pg_query/include/postgres/gramparse.h +75 -0
  170. data/ext/pg_query/include/postgres/jit/jit.h +106 -0
  171. data/ext/pg_query/include/postgres/kwlist_d.h +1164 -0
  172. data/ext/pg_query/include/postgres/lib/dshash.h +130 -0
  173. data/ext/pg_query/include/postgres/lib/ilist.h +1159 -0
  174. data/ext/pg_query/include/postgres/lib/pairingheap.h +102 -0
  175. data/ext/pg_query/include/postgres/lib/simplehash.h +1206 -0
  176. data/ext/pg_query/include/postgres/lib/sort_template.h +445 -0
  177. data/ext/pg_query/include/postgres/lib/stringinfo.h +243 -0
  178. data/ext/pg_query/include/postgres/libpq/auth.h +37 -0
  179. data/ext/pg_query/include/postgres/libpq/crypt.h +47 -0
  180. data/ext/pg_query/include/postgres/libpq/hba.h +186 -0
  181. data/ext/pg_query/include/postgres/libpq/libpq-be.h +358 -0
  182. data/ext/pg_query/include/postgres/libpq/libpq.h +143 -0
  183. data/ext/pg_query/include/postgres/libpq/pqcomm.h +169 -0
  184. data/ext/pg_query/include/postgres/libpq/pqformat.h +209 -0
  185. data/ext/pg_query/include/postgres/libpq/pqsignal.h +54 -0
  186. data/ext/pg_query/include/postgres/libpq/protocol.h +89 -0
  187. data/ext/pg_query/include/postgres/libpq/sasl.h +136 -0
  188. data/ext/pg_query/include/postgres/libpq/scram.h +37 -0
  189. data/ext/pg_query/include/postgres/mb/pg_wchar.h +792 -0
  190. data/ext/pg_query/include/postgres/mb/stringinfo_mb.h +24 -0
  191. data/ext/pg_query/include/postgres/miscadmin.h +519 -0
  192. data/ext/pg_query/include/postgres/nodes/bitmapset.h +140 -0
  193. data/ext/pg_query/include/postgres/nodes/execnodes.h +2852 -0
  194. data/ext/pg_query/include/postgres/nodes/extensible.h +164 -0
  195. data/ext/pg_query/include/postgres/nodes/lockoptions.h +61 -0
  196. data/ext/pg_query/include/postgres/nodes/makefuncs.h +127 -0
  197. data/ext/pg_query/include/postgres/nodes/memnodes.h +152 -0
  198. data/ext/pg_query/include/postgres/nodes/miscnodes.h +56 -0
  199. data/ext/pg_query/include/postgres/nodes/nodeFuncs.h +222 -0
  200. data/ext/pg_query/include/postgres/nodes/nodes.h +435 -0
  201. data/ext/pg_query/include/postgres/nodes/nodetags.h +491 -0
  202. data/ext/pg_query/include/postgres/nodes/params.h +170 -0
  203. data/ext/pg_query/include/postgres/nodes/parsenodes.h +4233 -0
  204. data/ext/pg_query/include/postgres/nodes/pathnodes.h +3435 -0
  205. data/ext/pg_query/include/postgres/nodes/pg_list.h +686 -0
  206. data/ext/pg_query/include/postgres/nodes/plannodes.h +1593 -0
  207. data/ext/pg_query/include/postgres/nodes/primnodes.h +2335 -0
  208. data/ext/pg_query/include/postgres/nodes/print.h +34 -0
  209. data/ext/pg_query/include/postgres/nodes/queryjumble.h +86 -0
  210. data/ext/pg_query/include/postgres/nodes/replnodes.h +132 -0
  211. data/ext/pg_query/include/postgres/nodes/supportnodes.h +346 -0
  212. data/ext/pg_query/include/postgres/nodes/tidbitmap.h +75 -0
  213. data/ext/pg_query/include/postgres/nodes/value.h +90 -0
  214. data/ext/pg_query/include/postgres/optimizer/cost.h +216 -0
  215. data/ext/pg_query/include/postgres/optimizer/geqo.h +90 -0
  216. data/ext/pg_query/include/postgres/optimizer/geqo_gene.h +45 -0
  217. data/ext/pg_query/include/postgres/optimizer/optimizer.h +205 -0
  218. data/ext/pg_query/include/postgres/optimizer/paths.h +271 -0
  219. data/ext/pg_query/include/postgres/optimizer/planmain.h +123 -0
  220. data/ext/pg_query/include/postgres/parser/analyze.h +66 -0
  221. data/ext/pg_query/include/postgres/parser/kwlist.h +518 -0
  222. data/ext/pg_query/include/postgres/parser/parse_agg.h +65 -0
  223. data/ext/pg_query/include/postgres/parser/parse_coerce.h +102 -0
  224. data/ext/pg_query/include/postgres/parser/parse_expr.h +25 -0
  225. data/ext/pg_query/include/postgres/parser/parse_func.h +74 -0
  226. data/ext/pg_query/include/postgres/parser/parse_node.h +358 -0
  227. data/ext/pg_query/include/postgres/parser/parse_oper.h +68 -0
  228. data/ext/pg_query/include/postgres/parser/parse_relation.h +129 -0
  229. data/ext/pg_query/include/postgres/parser/parse_type.h +61 -0
  230. data/ext/pg_query/include/postgres/parser/parser.h +68 -0
  231. data/ext/pg_query/include/postgres/parser/parsetree.h +61 -0
  232. data/ext/pg_query/include/postgres/parser/scanner.h +152 -0
  233. data/ext/pg_query/include/postgres/parser/scansup.h +27 -0
  234. data/ext/pg_query/include/postgres/partitioning/partdefs.h +26 -0
  235. data/ext/pg_query/include/postgres/pg_config.h +977 -0
  236. data/ext/pg_query/include/postgres/pg_config_manual.h +385 -0
  237. data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
  238. data/ext/pg_query/include/postgres/pg_getopt.h +56 -0
  239. data/ext/pg_query/include/postgres/pg_trace.h +17 -0
  240. data/ext/pg_query/include/postgres/pgstat.h +780 -0
  241. data/ext/pg_query/include/postgres/pgtime.h +94 -0
  242. data/ext/pg_query/include/postgres/pl_gram.h +385 -0
  243. data/ext/pg_query/include/postgres/pl_reserved_kwlist.h +52 -0
  244. data/ext/pg_query/include/postgres/pl_reserved_kwlist_d.h +114 -0
  245. data/ext/pg_query/include/postgres/pl_unreserved_kwlist.h +112 -0
  246. data/ext/pg_query/include/postgres/pl_unreserved_kwlist_d.h +246 -0
  247. data/ext/pg_query/include/postgres/plerrcodes.h +998 -0
  248. data/ext/pg_query/include/postgres/plpgsql.h +1342 -0
  249. data/ext/pg_query/include/postgres/port/atomics/arch-arm.h +32 -0
  250. data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +17 -0
  251. data/ext/pg_query/include/postgres/port/atomics/arch-ppc.h +256 -0
  252. data/ext/pg_query/include/postgres/port/atomics/arch-x86.h +254 -0
  253. data/ext/pg_query/include/postgres/port/atomics/fallback.h +170 -0
  254. data/ext/pg_query/include/postgres/port/atomics/generic-gcc.h +323 -0
  255. data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +119 -0
  256. data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +121 -0
  257. data/ext/pg_query/include/postgres/port/atomics/generic.h +437 -0
  258. data/ext/pg_query/include/postgres/port/atomics.h +606 -0
  259. data/ext/pg_query/include/postgres/port/pg_bitutils.h +421 -0
  260. data/ext/pg_query/include/postgres/port/pg_bswap.h +161 -0
  261. data/ext/pg_query/include/postgres/port/pg_crc32c.h +110 -0
  262. data/ext/pg_query/include/postgres/port/pg_iovec.h +117 -0
  263. data/ext/pg_query/include/postgres/port/simd.h +422 -0
  264. data/ext/pg_query/include/postgres/port/win32/arpa/inet.h +3 -0
  265. data/ext/pg_query/include/postgres/port/win32/dlfcn.h +1 -0
  266. data/ext/pg_query/include/postgres/port/win32/grp.h +1 -0
  267. data/ext/pg_query/include/postgres/port/win32/netdb.h +7 -0
  268. data/ext/pg_query/include/postgres/port/win32/netinet/in.h +3 -0
  269. data/ext/pg_query/include/postgres/port/win32/netinet/tcp.h +7 -0
  270. data/ext/pg_query/include/postgres/port/win32/pwd.h +3 -0
  271. data/ext/pg_query/include/postgres/port/win32/sys/resource.h +20 -0
  272. data/ext/pg_query/include/postgres/port/win32/sys/select.h +3 -0
  273. data/ext/pg_query/include/postgres/port/win32/sys/socket.h +34 -0
  274. data/ext/pg_query/include/postgres/port/win32/sys/un.h +17 -0
  275. data/ext/pg_query/include/postgres/port/win32/sys/wait.h +3 -0
  276. data/ext/pg_query/include/postgres/port/win32.h +59 -0
  277. data/ext/pg_query/include/postgres/port/win32_msvc/dirent.h +34 -0
  278. data/ext/pg_query/include/postgres/port/win32_msvc/sys/file.h +1 -0
  279. data/ext/pg_query/include/postgres/port/win32_msvc/sys/param.h +1 -0
  280. data/ext/pg_query/include/postgres/port/win32_msvc/sys/time.h +1 -0
  281. data/ext/pg_query/include/postgres/port/win32_msvc/unistd.h +9 -0
  282. data/ext/pg_query/include/postgres/port/win32_msvc/utime.h +3 -0
  283. data/ext/pg_query/include/postgres/port/win32_port.h +584 -0
  284. data/ext/pg_query/include/postgres/port.h +524 -0
  285. data/ext/pg_query/include/postgres/portability/instr_time.h +197 -0
  286. data/ext/pg_query/include/postgres/postgres.h +579 -0
  287. data/ext/pg_query/include/postgres/postmaster/autovacuum.h +69 -0
  288. data/ext/pg_query/include/postgres/postmaster/bgworker.h +164 -0
  289. data/ext/pg_query/include/postgres/postmaster/bgworker_internals.h +60 -0
  290. data/ext/pg_query/include/postgres/postmaster/bgwriter.h +45 -0
  291. data/ext/pg_query/include/postgres/postmaster/interrupt.h +32 -0
  292. data/ext/pg_query/include/postgres/postmaster/pgarch.h +36 -0
  293. data/ext/pg_query/include/postgres/postmaster/postmaster.h +101 -0
  294. data/ext/pg_query/include/postgres/postmaster/startup.h +41 -0
  295. data/ext/pg_query/include/postgres/postmaster/syslogger.h +101 -0
  296. data/ext/pg_query/include/postgres/postmaster/walsummarizer.h +35 -0
  297. data/ext/pg_query/include/postgres/postmaster/walwriter.h +23 -0
  298. data/ext/pg_query/include/postgres/regex/regex.h +272 -0
  299. data/ext/pg_query/include/postgres/replication/logicallauncher.h +34 -0
  300. data/ext/pg_query/include/postgres/replication/logicalproto.h +274 -0
  301. data/ext/pg_query/include/postgres/replication/logicalworker.h +33 -0
  302. data/ext/pg_query/include/postgres/replication/origin.h +73 -0
  303. data/ext/pg_query/include/postgres/replication/reorderbuffer.h +743 -0
  304. data/ext/pg_query/include/postgres/replication/slot.h +285 -0
  305. data/ext/pg_query/include/postgres/replication/slotsync.h +38 -0
  306. data/ext/pg_query/include/postgres/replication/syncrep.h +109 -0
  307. data/ext/pg_query/include/postgres/replication/walreceiver.h +504 -0
  308. data/ext/pg_query/include/postgres/replication/walsender.h +76 -0
  309. data/ext/pg_query/include/postgres/rewrite/prs2lock.h +46 -0
  310. data/ext/pg_query/include/postgres/rewrite/rewriteHandler.h +41 -0
  311. data/ext/pg_query/include/postgres/rewrite/rewriteManip.h +96 -0
  312. data/ext/pg_query/include/postgres/rewrite/rewriteSupport.h +26 -0
  313. data/ext/pg_query/include/postgres/storage/block.h +108 -0
  314. data/ext/pg_query/include/postgres/storage/buf.h +46 -0
  315. data/ext/pg_query/include/postgres/storage/bufmgr.h +411 -0
  316. data/ext/pg_query/include/postgres/storage/bufpage.h +510 -0
  317. data/ext/pg_query/include/postgres/storage/condition_variable.h +73 -0
  318. data/ext/pg_query/include/postgres/storage/dsm.h +61 -0
  319. data/ext/pg_query/include/postgres/storage/dsm_impl.h +79 -0
  320. data/ext/pg_query/include/postgres/storage/fd.h +219 -0
  321. data/ext/pg_query/include/postgres/storage/fileset.h +40 -0
  322. data/ext/pg_query/include/postgres/storage/ipc.h +87 -0
  323. data/ext/pg_query/include/postgres/storage/item.h +19 -0
  324. data/ext/pg_query/include/postgres/storage/itemid.h +184 -0
  325. data/ext/pg_query/include/postgres/storage/itemptr.h +245 -0
  326. data/ext/pg_query/include/postgres/storage/large_object.h +100 -0
  327. data/ext/pg_query/include/postgres/storage/latch.h +196 -0
  328. data/ext/pg_query/include/postgres/storage/lmgr.h +126 -0
  329. data/ext/pg_query/include/postgres/storage/lock.h +624 -0
  330. data/ext/pg_query/include/postgres/storage/lockdefs.h +59 -0
  331. data/ext/pg_query/include/postgres/storage/lwlock.h +228 -0
  332. data/ext/pg_query/include/postgres/storage/lwlocknames.h +47 -0
  333. data/ext/pg_query/include/postgres/storage/off.h +57 -0
  334. data/ext/pg_query/include/postgres/storage/pg_sema.h +61 -0
  335. data/ext/pg_query/include/postgres/storage/pg_shmem.h +93 -0
  336. data/ext/pg_query/include/postgres/storage/pmsignal.h +105 -0
  337. data/ext/pg_query/include/postgres/storage/predicate.h +83 -0
  338. data/ext/pg_query/include/postgres/storage/proc.h +491 -0
  339. data/ext/pg_query/include/postgres/storage/procarray.h +103 -0
  340. data/ext/pg_query/include/postgres/storage/proclist_types.h +53 -0
  341. data/ext/pg_query/include/postgres/storage/procnumber.h +43 -0
  342. data/ext/pg_query/include/postgres/storage/procsignal.h +75 -0
  343. data/ext/pg_query/include/postgres/storage/read_stream.h +65 -0
  344. data/ext/pg_query/include/postgres/storage/relfilelocator.h +100 -0
  345. data/ext/pg_query/include/postgres/storage/s_lock.h +847 -0
  346. data/ext/pg_query/include/postgres/storage/sharedfileset.h +37 -0
  347. data/ext/pg_query/include/postgres/storage/shm_mq.h +86 -0
  348. data/ext/pg_query/include/postgres/storage/shm_toc.h +58 -0
  349. data/ext/pg_query/include/postgres/storage/shmem.h +59 -0
  350. data/ext/pg_query/include/postgres/storage/sinval.h +153 -0
  351. data/ext/pg_query/include/postgres/storage/smgr.h +127 -0
  352. data/ext/pg_query/include/postgres/storage/spin.h +77 -0
  353. data/ext/pg_query/include/postgres/storage/standby.h +109 -0
  354. data/ext/pg_query/include/postgres/storage/standbydefs.h +74 -0
  355. data/ext/pg_query/include/postgres/storage/sync.h +66 -0
  356. data/ext/pg_query/include/postgres/tcop/cmdtag.h +62 -0
  357. data/ext/pg_query/include/postgres/tcop/cmdtaglist.h +219 -0
  358. data/ext/pg_query/include/postgres/tcop/deparse_utility.h +108 -0
  359. data/ext/pg_query/include/postgres/tcop/dest.h +148 -0
  360. data/ext/pg_query/include/postgres/tcop/fastpath.h +20 -0
  361. data/ext/pg_query/include/postgres/tcop/pquery.h +51 -0
  362. data/ext/pg_query/include/postgres/tcop/tcopprot.h +98 -0
  363. data/ext/pg_query/include/postgres/tcop/utility.h +112 -0
  364. data/ext/pg_query/include/postgres/tsearch/ts_cache.h +96 -0
  365. data/ext/pg_query/include/postgres/utils/acl.h +290 -0
  366. data/ext/pg_query/include/postgres/utils/aclchk_internal.h +45 -0
  367. data/ext/pg_query/include/postgres/utils/array.h +481 -0
  368. data/ext/pg_query/include/postgres/utils/ascii.h +84 -0
  369. data/ext/pg_query/include/postgres/utils/backend_progress.h +46 -0
  370. data/ext/pg_query/include/postgres/utils/backend_status.h +340 -0
  371. data/ext/pg_query/include/postgres/utils/builtins.h +139 -0
  372. data/ext/pg_query/include/postgres/utils/bytea.h +28 -0
  373. data/ext/pg_query/include/postgres/utils/catcache.h +230 -0
  374. data/ext/pg_query/include/postgres/utils/date.h +118 -0
  375. data/ext/pg_query/include/postgres/utils/datetime.h +367 -0
  376. data/ext/pg_query/include/postgres/utils/datum.h +76 -0
  377. data/ext/pg_query/include/postgres/utils/dsa.h +166 -0
  378. data/ext/pg_query/include/postgres/utils/elog.h +540 -0
  379. data/ext/pg_query/include/postgres/utils/errcodes.h +352 -0
  380. data/ext/pg_query/include/postgres/utils/expandeddatum.h +170 -0
  381. data/ext/pg_query/include/postgres/utils/expandedrecord.h +241 -0
  382. data/ext/pg_query/include/postgres/utils/float.h +357 -0
  383. data/ext/pg_query/include/postgres/utils/fmgroids.h +3347 -0
  384. data/ext/pg_query/include/postgres/utils/fmgrprotos.h +2904 -0
  385. data/ext/pg_query/include/postgres/utils/fmgrtab.h +49 -0
  386. data/ext/pg_query/include/postgres/utils/guc.h +456 -0
  387. data/ext/pg_query/include/postgres/utils/guc_hooks.h +184 -0
  388. data/ext/pg_query/include/postgres/utils/guc_tables.h +323 -0
  389. data/ext/pg_query/include/postgres/utils/hsearch.h +153 -0
  390. data/ext/pg_query/include/postgres/utils/injection_point.h +44 -0
  391. data/ext/pg_query/include/postgres/utils/inval.h +68 -0
  392. data/ext/pg_query/include/postgres/utils/logtape.h +77 -0
  393. data/ext/pg_query/include/postgres/utils/lsyscache.h +215 -0
  394. data/ext/pg_query/include/postgres/utils/memdebug.h +82 -0
  395. data/ext/pg_query/include/postgres/utils/memutils.h +193 -0
  396. data/ext/pg_query/include/postgres/utils/memutils_internal.h +176 -0
  397. data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +253 -0
  398. data/ext/pg_query/include/postgres/utils/numeric.h +110 -0
  399. data/ext/pg_query/include/postgres/utils/palloc.h +151 -0
  400. data/ext/pg_query/include/postgres/utils/partcache.h +103 -0
  401. data/ext/pg_query/include/postgres/utils/pg_locale.h +136 -0
  402. data/ext/pg_query/include/postgres/utils/pgstat_internal.h +808 -0
  403. data/ext/pg_query/include/postgres/utils/plancache.h +238 -0
  404. data/ext/pg_query/include/postgres/utils/portal.h +252 -0
  405. data/ext/pg_query/include/postgres/utils/queryenvironment.h +74 -0
  406. data/ext/pg_query/include/postgres/utils/regproc.h +39 -0
  407. data/ext/pg_query/include/postgres/utils/rel.h +711 -0
  408. data/ext/pg_query/include/postgres/utils/relcache.h +155 -0
  409. data/ext/pg_query/include/postgres/utils/reltrigger.h +81 -0
  410. data/ext/pg_query/include/postgres/utils/resowner.h +167 -0
  411. data/ext/pg_query/include/postgres/utils/ruleutils.h +52 -0
  412. data/ext/pg_query/include/postgres/utils/sharedtuplestore.h +61 -0
  413. data/ext/pg_query/include/postgres/utils/snapmgr.h +130 -0
  414. data/ext/pg_query/include/postgres/utils/snapshot.h +219 -0
  415. data/ext/pg_query/include/postgres/utils/sortsupport.h +391 -0
  416. data/ext/pg_query/include/postgres/utils/syscache.h +131 -0
  417. data/ext/pg_query/include/postgres/utils/timeout.h +96 -0
  418. data/ext/pg_query/include/postgres/utils/timestamp.h +147 -0
  419. data/ext/pg_query/include/postgres/utils/tuplesort.h +472 -0
  420. data/ext/pg_query/include/postgres/utils/tuplestore.h +88 -0
  421. data/ext/pg_query/include/postgres/utils/typcache.h +210 -0
  422. data/ext/pg_query/include/postgres/utils/varlena.h +53 -0
  423. data/ext/pg_query/include/postgres/utils/wait_event.h +108 -0
  424. data/ext/pg_query/include/postgres/utils/wait_event_types.h +218 -0
  425. data/ext/pg_query/include/postgres/utils/xml.h +94 -0
  426. data/ext/pg_query/include/postgres/varatt.h +358 -0
  427. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +1546 -792
  428. data/ext/pg_query/include/protobuf/pg_query.pb.h +58365 -46595
  429. data/ext/pg_query/pg_query.c +9 -0
  430. data/ext/pg_query/pg_query.pb-c.c +6598 -3739
  431. data/ext/pg_query/pg_query_fingerprint.c +4 -5
  432. data/ext/pg_query/pg_query_normalize.c +42 -1
  433. data/ext/pg_query/pg_query_outfuncs_json.c +9 -1
  434. data/ext/pg_query/pg_query_outfuncs_protobuf.c +1 -0
  435. data/ext/pg_query/pg_query_parse.c +1 -1
  436. data/ext/pg_query/pg_query_parse_plpgsql.c +18 -17
  437. data/ext/pg_query/pg_query_readfuncs_protobuf.c +3 -2
  438. data/ext/pg_query/pg_query_ruby.c +5 -0
  439. data/ext/pg_query/pg_query_ruby_freebsd.sym +0 -1
  440. data/ext/pg_query/pg_query_scan.c +1 -1
  441. data/ext/pg_query/pg_query_split.c +1 -1
  442. data/ext/pg_query/postgres_deparse.c +409 -21
  443. data/ext/pg_query/src_backend_catalog_namespace.c +241 -66
  444. data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -3
  445. data/ext/pg_query/src_backend_commands_define.c +2 -3
  446. data/ext/pg_query/src_backend_nodes_bitmapset.c +137 -94
  447. data/ext/pg_query/src_backend_nodes_copyfuncs.c +1 -1
  448. data/ext/pg_query/src_backend_nodes_equalfuncs.c +1 -1
  449. data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
  450. data/ext/pg_query/src_backend_nodes_list.c +3 -7
  451. data/ext/pg_query/src_backend_nodes_makefuncs.c +59 -20
  452. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +109 -2
  453. data/ext/pg_query/src_backend_nodes_value.c +1 -1
  454. data/ext/pg_query/src_backend_parser_gram.c +34490 -32135
  455. data/ext/pg_query/src_backend_parser_parser.c +8 -8
  456. data/ext/pg_query/src_backend_parser_scan.c +5637 -3028
  457. data/ext/pg_query/src_backend_parser_scansup.c +2 -1
  458. data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
  459. data/ext/pg_query/src_backend_tcop_postgres.c +34 -10
  460. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +2 -2
  461. data/ext/pg_query/src_backend_utils_adt_datum.c +8 -6
  462. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  463. data/ext/pg_query/src_backend_utils_adt_format_type.c +1 -1
  464. data/ext/pg_query/src_backend_utils_adt_numutils.c +4 -5
  465. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +101 -28
  466. data/ext/pg_query/src_backend_utils_error_assert.c +1 -1
  467. data/ext/pg_query/src_backend_utils_error_elog.c +60 -190
  468. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +4 -2
  469. data/ext/pg_query/src_backend_utils_init_globals.c +16 -4
  470. data/ext/pg_query/src_backend_utils_mb_mbutils.c +19 -81
  471. data/ext/pg_query/src_backend_utils_misc_guc_tables.c +16 -8
  472. data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +8 -5
  473. data/ext/pg_query/src_backend_utils_mmgr_aset.c +308 -238
  474. data/ext/pg_query/src_backend_utils_mmgr_bump.c +728 -0
  475. data/ext/pg_query/src_backend_utils_mmgr_generation.c +273 -197
  476. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +270 -215
  477. data/ext/pg_query/src_backend_utils_mmgr_slab.c +154 -96
  478. data/ext/pg_query/src_common_encnames.c +43 -44
  479. data/ext/pg_query/src_common_hashfn.c +1 -1
  480. data/ext/pg_query/src_common_keywords.c +1 -1
  481. data/ext/pg_query/src_common_kwlist_d.h +511 -466
  482. data/ext/pg_query/src_common_kwlookup.c +1 -1
  483. data/ext/pg_query/src_common_psprintf.c +3 -3
  484. data/ext/pg_query/src_common_stringinfo.c +18 -1
  485. data/ext/pg_query/src_common_wchar.c +45 -108
  486. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +99 -5
  487. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -1
  488. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +242 -143
  489. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  490. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +1 -1
  491. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +19 -1
  492. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +1 -1
  493. data/ext/pg_query/src_port_pg_bitutils.c +251 -32
  494. data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
  495. data/ext/pg_query/src_port_snprintf.c +4 -4
  496. data/ext/pg_query/src_port_strerror.c +1 -3
  497. data/ext/pg_query/src_port_strlcpy.c +79 -0
  498. data/lib/pg_query/fingerprint.rb +2 -3
  499. data/lib/pg_query/node.rb +16 -11
  500. data/lib/pg_query/param_refs.rb +1 -1
  501. data/lib/pg_query/parse.rb +1 -1
  502. data/lib/pg_query/pg_query_pb.rb +26 -3
  503. data/lib/pg_query/treewalker.rb +52 -12
  504. data/lib/pg_query/truncate.rb +1 -1
  505. data/lib/pg_query/version.rb +1 -1
  506. metadata +444 -400
  507. data/ext/pg_query/guc-file.c +0 -0
  508. data/ext/pg_query/include/access/amapi.h +0 -292
  509. data/ext/pg_query/include/access/attmap.h +0 -54
  510. data/ext/pg_query/include/access/attnum.h +0 -64
  511. data/ext/pg_query/include/access/clog.h +0 -63
  512. data/ext/pg_query/include/access/commit_ts.h +0 -74
  513. data/ext/pg_query/include/access/detoast.h +0 -82
  514. data/ext/pg_query/include/access/genam.h +0 -233
  515. data/ext/pg_query/include/access/gin.h +0 -91
  516. data/ext/pg_query/include/access/htup.h +0 -89
  517. data/ext/pg_query/include/access/htup_details.h +0 -811
  518. data/ext/pg_query/include/access/itup.h +0 -170
  519. data/ext/pg_query/include/access/parallel.h +0 -82
  520. data/ext/pg_query/include/access/printtup.h +0 -35
  521. data/ext/pg_query/include/access/relation.h +0 -28
  522. data/ext/pg_query/include/access/relscan.h +0 -191
  523. data/ext/pg_query/include/access/rmgrlist.h +0 -49
  524. data/ext/pg_query/include/access/sdir.h +0 -67
  525. data/ext/pg_query/include/access/skey.h +0 -151
  526. data/ext/pg_query/include/access/stratnum.h +0 -85
  527. data/ext/pg_query/include/access/sysattr.h +0 -29
  528. data/ext/pg_query/include/access/table.h +0 -28
  529. data/ext/pg_query/include/access/tableam.h +0 -2100
  530. data/ext/pg_query/include/access/toast_compression.h +0 -73
  531. data/ext/pg_query/include/access/transam.h +0 -375
  532. data/ext/pg_query/include/access/tsmapi.h +0 -82
  533. data/ext/pg_query/include/access/tupconvert.h +0 -54
  534. data/ext/pg_query/include/access/tupdesc.h +0 -154
  535. data/ext/pg_query/include/access/tupmacs.h +0 -207
  536. data/ext/pg_query/include/access/twophase.h +0 -65
  537. data/ext/pg_query/include/access/xact.h +0 -530
  538. data/ext/pg_query/include/access/xlog.h +0 -302
  539. data/ext/pg_query/include/access/xlog_internal.h +0 -404
  540. data/ext/pg_query/include/access/xlogbackup.h +0 -41
  541. data/ext/pg_query/include/access/xlogdefs.h +0 -82
  542. data/ext/pg_query/include/access/xlogprefetcher.h +0 -55
  543. data/ext/pg_query/include/access/xlogreader.h +0 -444
  544. data/ext/pg_query/include/access/xlogrecord.h +0 -248
  545. data/ext/pg_query/include/access/xlogrecovery.h +0 -158
  546. data/ext/pg_query/include/archive/archive_module.h +0 -59
  547. data/ext/pg_query/include/c.h +0 -1379
  548. data/ext/pg_query/include/catalog/catalog.h +0 -45
  549. data/ext/pg_query/include/catalog/catversion.h +0 -62
  550. data/ext/pg_query/include/catalog/dependency.h +0 -270
  551. data/ext/pg_query/include/catalog/genbki.h +0 -143
  552. data/ext/pg_query/include/catalog/index.h +0 -214
  553. data/ext/pg_query/include/catalog/indexing.h +0 -54
  554. data/ext/pg_query/include/catalog/namespace.h +0 -190
  555. data/ext/pg_query/include/catalog/objectaccess.h +0 -267
  556. data/ext/pg_query/include/catalog/objectaddress.h +0 -89
  557. data/ext/pg_query/include/catalog/pg_aggregate.h +0 -180
  558. data/ext/pg_query/include/catalog/pg_aggregate_d.h +0 -78
  559. data/ext/pg_query/include/catalog/pg_am.h +0 -63
  560. data/ext/pg_query/include/catalog/pg_am_d.h +0 -47
  561. data/ext/pg_query/include/catalog/pg_attribute.h +0 -223
  562. data/ext/pg_query/include/catalog/pg_attribute_d.h +0 -62
  563. data/ext/pg_query/include/catalog/pg_authid.h +0 -63
  564. data/ext/pg_query/include/catalog/pg_authid_d.h +0 -59
  565. data/ext/pg_query/include/catalog/pg_class.h +0 -230
  566. data/ext/pg_query/include/catalog/pg_class_d.h +0 -132
  567. data/ext/pg_query/include/catalog/pg_collation.h +0 -100
  568. data/ext/pg_query/include/catalog/pg_collation_d.h +0 -63
  569. data/ext/pg_query/include/catalog/pg_constraint.h +0 -273
  570. data/ext/pg_query/include/catalog/pg_constraint_d.h +0 -73
  571. data/ext/pg_query/include/catalog/pg_control.h +0 -258
  572. data/ext/pg_query/include/catalog/pg_conversion.h +0 -75
  573. data/ext/pg_query/include/catalog/pg_conversion_d.h +0 -38
  574. data/ext/pg_query/include/catalog/pg_database.h +0 -124
  575. data/ext/pg_query/include/catalog/pg_database_d.h +0 -52
  576. data/ext/pg_query/include/catalog/pg_depend.h +0 -77
  577. data/ext/pg_query/include/catalog/pg_depend_d.h +0 -36
  578. data/ext/pg_query/include/catalog/pg_event_trigger.h +0 -57
  579. data/ext/pg_query/include/catalog/pg_event_trigger_d.h +0 -36
  580. data/ext/pg_query/include/catalog/pg_index.h +0 -90
  581. data/ext/pg_query/include/catalog/pg_index_d.h +0 -59
  582. data/ext/pg_query/include/catalog/pg_language.h +0 -72
  583. data/ext/pg_query/include/catalog/pg_language_d.h +0 -41
  584. data/ext/pg_query/include/catalog/pg_namespace.h +0 -64
  585. data/ext/pg_query/include/catalog/pg_namespace_d.h +0 -36
  586. data/ext/pg_query/include/catalog/pg_opclass.h +0 -88
  587. data/ext/pg_query/include/catalog/pg_opclass_d.h +0 -51
  588. data/ext/pg_query/include/catalog/pg_operator.h +0 -107
  589. data/ext/pg_query/include/catalog/pg_operator_d.h +0 -142
  590. data/ext/pg_query/include/catalog/pg_opfamily.h +0 -64
  591. data/ext/pg_query/include/catalog/pg_opfamily_d.h +0 -51
  592. data/ext/pg_query/include/catalog/pg_partitioned_table.h +0 -74
  593. data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +0 -36
  594. data/ext/pg_query/include/catalog/pg_proc.h +0 -220
  595. data/ext/pg_query/include/catalog/pg_proc_d.h +0 -101
  596. data/ext/pg_query/include/catalog/pg_publication.h +0 -158
  597. data/ext/pg_query/include/catalog/pg_publication_d.h +0 -38
  598. data/ext/pg_query/include/catalog/pg_replication_origin.h +0 -62
  599. data/ext/pg_query/include/catalog/pg_replication_origin_d.h +0 -33
  600. data/ext/pg_query/include/catalog/pg_statistic.h +0 -282
  601. data/ext/pg_query/include/catalog/pg_statistic_d.h +0 -195
  602. data/ext/pg_query/include/catalog/pg_statistic_ext.h +0 -88
  603. data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +0 -45
  604. data/ext/pg_query/include/catalog/pg_transform.h +0 -48
  605. data/ext/pg_query/include/catalog/pg_transform_d.h +0 -34
  606. data/ext/pg_query/include/catalog/pg_trigger.h +0 -153
  607. data/ext/pg_query/include/catalog/pg_trigger_d.h +0 -109
  608. data/ext/pg_query/include/catalog/pg_ts_config.h +0 -53
  609. data/ext/pg_query/include/catalog/pg_ts_config_d.h +0 -34
  610. data/ext/pg_query/include/catalog/pg_ts_dict.h +0 -59
  611. data/ext/pg_query/include/catalog/pg_ts_dict_d.h +0 -35
  612. data/ext/pg_query/include/catalog/pg_ts_parser.h +0 -60
  613. data/ext/pg_query/include/catalog/pg_ts_parser_d.h +0 -37
  614. data/ext/pg_query/include/catalog/pg_ts_template.h +0 -51
  615. data/ext/pg_query/include/catalog/pg_ts_template_d.h +0 -34
  616. data/ext/pg_query/include/catalog/pg_type.h +0 -404
  617. data/ext/pg_query/include/catalog/pg_type_d.h +0 -324
  618. data/ext/pg_query/include/catalog/storage.h +0 -50
  619. data/ext/pg_query/include/commands/async.h +0 -53
  620. data/ext/pg_query/include/commands/dbcommands.h +0 -37
  621. data/ext/pg_query/include/commands/defrem.h +0 -161
  622. data/ext/pg_query/include/commands/event_trigger.h +0 -88
  623. data/ext/pg_query/include/commands/explain.h +0 -129
  624. data/ext/pg_query/include/commands/prepare.h +0 -61
  625. data/ext/pg_query/include/commands/tablespace.h +0 -69
  626. data/ext/pg_query/include/commands/trigger.h +0 -288
  627. data/ext/pg_query/include/commands/vacuum.h +0 -386
  628. data/ext/pg_query/include/common/cryptohash.h +0 -39
  629. data/ext/pg_query/include/common/file_perm.h +0 -56
  630. data/ext/pg_query/include/common/hashfn.h +0 -104
  631. data/ext/pg_query/include/common/int.h +0 -437
  632. data/ext/pg_query/include/common/ip.h +0 -33
  633. data/ext/pg_query/include/common/keywords.h +0 -29
  634. data/ext/pg_query/include/common/kwlookup.h +0 -44
  635. data/ext/pg_query/include/common/pg_prng.h +0 -61
  636. data/ext/pg_query/include/common/relpath.h +0 -97
  637. data/ext/pg_query/include/common/scram-common.h +0 -70
  638. data/ext/pg_query/include/common/sha2.h +0 -32
  639. data/ext/pg_query/include/common/string.h +0 -44
  640. data/ext/pg_query/include/common/unicode_east_asian_fw_table.h +0 -125
  641. data/ext/pg_query/include/copyfuncs.funcs.c +0 -5013
  642. data/ext/pg_query/include/copyfuncs.switch.c +0 -938
  643. data/ext/pg_query/include/datatype/timestamp.h +0 -243
  644. data/ext/pg_query/include/equalfuncs.funcs.c +0 -3097
  645. data/ext/pg_query/include/equalfuncs.switch.c +0 -785
  646. data/ext/pg_query/include/executor/execdesc.h +0 -70
  647. data/ext/pg_query/include/executor/executor.h +0 -680
  648. data/ext/pg_query/include/executor/functions.h +0 -55
  649. data/ext/pg_query/include/executor/instrument.h +0 -118
  650. data/ext/pg_query/include/executor/spi.h +0 -213
  651. data/ext/pg_query/include/executor/tablefunc.h +0 -67
  652. data/ext/pg_query/include/executor/tuptable.h +0 -494
  653. data/ext/pg_query/include/fmgr.h +0 -800
  654. data/ext/pg_query/include/foreign/fdwapi.h +0 -294
  655. data/ext/pg_query/include/funcapi.h +0 -360
  656. data/ext/pg_query/include/gram.h +0 -1127
  657. data/ext/pg_query/include/gramparse.h +0 -75
  658. data/ext/pg_query/include/jit/jit.h +0 -105
  659. data/ext/pg_query/include/kwlist_d.h +0 -1119
  660. data/ext/pg_query/include/lib/dshash.h +0 -115
  661. data/ext/pg_query/include/lib/ilist.h +0 -1159
  662. data/ext/pg_query/include/lib/pairingheap.h +0 -102
  663. data/ext/pg_query/include/lib/simplehash.h +0 -1184
  664. data/ext/pg_query/include/lib/sort_template.h +0 -432
  665. data/ext/pg_query/include/lib/stringinfo.h +0 -161
  666. data/ext/pg_query/include/libpq/auth.h +0 -37
  667. data/ext/pg_query/include/libpq/crypt.h +0 -47
  668. data/ext/pg_query/include/libpq/hba.h +0 -186
  669. data/ext/pg_query/include/libpq/libpq-be.h +0 -354
  670. data/ext/pg_query/include/libpq/libpq.h +0 -144
  671. data/ext/pg_query/include/libpq/pqcomm.h +0 -163
  672. data/ext/pg_query/include/libpq/pqformat.h +0 -210
  673. data/ext/pg_query/include/libpq/pqsignal.h +0 -54
  674. data/ext/pg_query/include/libpq/sasl.h +0 -136
  675. data/ext/pg_query/include/libpq/scram.h +0 -37
  676. data/ext/pg_query/include/mb/pg_wchar.h +0 -772
  677. data/ext/pg_query/include/mb/stringinfo_mb.h +0 -24
  678. data/ext/pg_query/include/miscadmin.h +0 -507
  679. data/ext/pg_query/include/nodes/bitmapset.h +0 -126
  680. data/ext/pg_query/include/nodes/execnodes.h +0 -2768
  681. data/ext/pg_query/include/nodes/extensible.h +0 -164
  682. data/ext/pg_query/include/nodes/lockoptions.h +0 -61
  683. data/ext/pg_query/include/nodes/makefuncs.h +0 -121
  684. data/ext/pg_query/include/nodes/memnodes.h +0 -113
  685. data/ext/pg_query/include/nodes/miscnodes.h +0 -56
  686. data/ext/pg_query/include/nodes/nodeFuncs.h +0 -222
  687. data/ext/pg_query/include/nodes/nodes.h +0 -446
  688. data/ext/pg_query/include/nodes/nodetags.h +0 -471
  689. data/ext/pg_query/include/nodes/params.h +0 -170
  690. data/ext/pg_query/include/nodes/parsenodes.h +0 -4050
  691. data/ext/pg_query/include/nodes/pathnodes.h +0 -3384
  692. data/ext/pg_query/include/nodes/pg_list.h +0 -635
  693. data/ext/pg_query/include/nodes/plannodes.h +0 -1592
  694. data/ext/pg_query/include/nodes/primnodes.h +0 -2041
  695. data/ext/pg_query/include/nodes/print.h +0 -34
  696. data/ext/pg_query/include/nodes/queryjumble.h +0 -86
  697. data/ext/pg_query/include/nodes/replnodes.h +0 -111
  698. data/ext/pg_query/include/nodes/supportnodes.h +0 -346
  699. data/ext/pg_query/include/nodes/tidbitmap.h +0 -75
  700. data/ext/pg_query/include/nodes/value.h +0 -90
  701. data/ext/pg_query/include/optimizer/cost.h +0 -215
  702. data/ext/pg_query/include/optimizer/geqo.h +0 -90
  703. data/ext/pg_query/include/optimizer/geqo_gene.h +0 -45
  704. data/ext/pg_query/include/optimizer/optimizer.h +0 -202
  705. data/ext/pg_query/include/optimizer/paths.h +0 -266
  706. data/ext/pg_query/include/optimizer/planmain.h +0 -117
  707. data/ext/pg_query/include/parser/analyze.h +0 -64
  708. data/ext/pg_query/include/parser/kwlist.h +0 -498
  709. data/ext/pg_query/include/parser/parse_agg.h +0 -65
  710. data/ext/pg_query/include/parser/parse_coerce.h +0 -102
  711. data/ext/pg_query/include/parser/parse_expr.h +0 -25
  712. data/ext/pg_query/include/parser/parse_func.h +0 -74
  713. data/ext/pg_query/include/parser/parse_node.h +0 -357
  714. data/ext/pg_query/include/parser/parse_oper.h +0 -65
  715. data/ext/pg_query/include/parser/parse_relation.h +0 -129
  716. data/ext/pg_query/include/parser/parse_type.h +0 -61
  717. data/ext/pg_query/include/parser/parser.h +0 -68
  718. data/ext/pg_query/include/parser/parsetree.h +0 -61
  719. data/ext/pg_query/include/parser/scanner.h +0 -152
  720. data/ext/pg_query/include/parser/scansup.h +0 -27
  721. data/ext/pg_query/include/partitioning/partdefs.h +0 -26
  722. data/ext/pg_query/include/pg_config.h +0 -843
  723. data/ext/pg_query/include/pg_config_manual.h +0 -372
  724. data/ext/pg_query/include/pg_config_os.h +0 -8
  725. data/ext/pg_query/include/pg_getopt.h +0 -56
  726. data/ext/pg_query/include/pg_trace.h +0 -17
  727. data/ext/pg_query/include/pgstat.h +0 -778
  728. data/ext/pg_query/include/pgtime.h +0 -94
  729. data/ext/pg_query/include/pl_gram.h +0 -385
  730. data/ext/pg_query/include/pl_reserved_kwlist.h +0 -52
  731. data/ext/pg_query/include/pl_reserved_kwlist_d.h +0 -114
  732. data/ext/pg_query/include/pl_unreserved_kwlist.h +0 -112
  733. data/ext/pg_query/include/pl_unreserved_kwlist_d.h +0 -246
  734. data/ext/pg_query/include/plerrcodes.h +0 -998
  735. data/ext/pg_query/include/plpgsql.h +0 -1340
  736. data/ext/pg_query/include/port/atomics/arch-arm.h +0 -32
  737. data/ext/pg_query/include/port/atomics/arch-ppc.h +0 -254
  738. data/ext/pg_query/include/port/atomics/arch-x86.h +0 -252
  739. data/ext/pg_query/include/port/atomics/fallback.h +0 -170
  740. data/ext/pg_query/include/port/atomics/generic-gcc.h +0 -286
  741. data/ext/pg_query/include/port/atomics/generic.h +0 -401
  742. data/ext/pg_query/include/port/atomics.h +0 -519
  743. data/ext/pg_query/include/port/pg_bitutils.h +0 -339
  744. data/ext/pg_query/include/port/pg_bswap.h +0 -161
  745. data/ext/pg_query/include/port/pg_crc32c.h +0 -101
  746. data/ext/pg_query/include/port/simd.h +0 -375
  747. data/ext/pg_query/include/port.h +0 -520
  748. data/ext/pg_query/include/portability/instr_time.h +0 -197
  749. data/ext/pg_query/include/postgres.h +0 -579
  750. data/ext/pg_query/include/postmaster/autovacuum.h +0 -80
  751. data/ext/pg_query/include/postmaster/auxprocess.h +0 -20
  752. data/ext/pg_query/include/postmaster/bgworker.h +0 -162
  753. data/ext/pg_query/include/postmaster/bgworker_internals.h +0 -64
  754. data/ext/pg_query/include/postmaster/bgwriter.h +0 -45
  755. data/ext/pg_query/include/postmaster/fork_process.h +0 -17
  756. data/ext/pg_query/include/postmaster/interrupt.h +0 -32
  757. data/ext/pg_query/include/postmaster/pgarch.h +0 -36
  758. data/ext/pg_query/include/postmaster/postmaster.h +0 -81
  759. data/ext/pg_query/include/postmaster/startup.h +0 -41
  760. data/ext/pg_query/include/postmaster/syslogger.h +0 -103
  761. data/ext/pg_query/include/postmaster/walwriter.h +0 -23
  762. data/ext/pg_query/include/regex/regex.h +0 -189
  763. data/ext/pg_query/include/replication/logicallauncher.h +0 -34
  764. data/ext/pg_query/include/replication/logicalproto.h +0 -274
  765. data/ext/pg_query/include/replication/logicalworker.h +0 -32
  766. data/ext/pg_query/include/replication/origin.h +0 -73
  767. data/ext/pg_query/include/replication/reorderbuffer.h +0 -753
  768. data/ext/pg_query/include/replication/slot.h +0 -249
  769. data/ext/pg_query/include/replication/syncrep.h +0 -109
  770. data/ext/pg_query/include/replication/walreceiver.h +0 -478
  771. data/ext/pg_query/include/replication/walsender.h +0 -74
  772. data/ext/pg_query/include/rewrite/prs2lock.h +0 -46
  773. data/ext/pg_query/include/rewrite/rewriteHandler.h +0 -35
  774. data/ext/pg_query/include/rewrite/rewriteManip.h +0 -96
  775. data/ext/pg_query/include/rewrite/rewriteSupport.h +0 -26
  776. data/ext/pg_query/include/src_backend_nodes_copyfuncs.funcs.c +0 -5321
  777. data/ext/pg_query/include/src_backend_nodes_equalfuncs.funcs.c +0 -3354
  778. data/ext/pg_query/include/storage/backendid.h +0 -37
  779. data/ext/pg_query/include/storage/block.h +0 -108
  780. data/ext/pg_query/include/storage/buf.h +0 -46
  781. data/ext/pg_query/include/storage/bufmgr.h +0 -393
  782. data/ext/pg_query/include/storage/bufpage.h +0 -510
  783. data/ext/pg_query/include/storage/condition_variable.h +0 -73
  784. data/ext/pg_query/include/storage/dsm.h +0 -61
  785. data/ext/pg_query/include/storage/dsm_impl.h +0 -79
  786. data/ext/pg_query/include/storage/fd.h +0 -202
  787. data/ext/pg_query/include/storage/fileset.h +0 -40
  788. data/ext/pg_query/include/storage/ipc.h +0 -84
  789. data/ext/pg_query/include/storage/item.h +0 -19
  790. data/ext/pg_query/include/storage/itemid.h +0 -184
  791. data/ext/pg_query/include/storage/itemptr.h +0 -245
  792. data/ext/pg_query/include/storage/large_object.h +0 -100
  793. data/ext/pg_query/include/storage/latch.h +0 -194
  794. data/ext/pg_query/include/storage/lmgr.h +0 -120
  795. data/ext/pg_query/include/storage/lock.h +0 -624
  796. data/ext/pg_query/include/storage/lockdefs.h +0 -59
  797. data/ext/pg_query/include/storage/lwlock.h +0 -220
  798. data/ext/pg_query/include/storage/lwlocknames.h +0 -50
  799. data/ext/pg_query/include/storage/off.h +0 -57
  800. data/ext/pg_query/include/storage/pg_sema.h +0 -61
  801. data/ext/pg_query/include/storage/pg_shmem.h +0 -92
  802. data/ext/pg_query/include/storage/pmsignal.h +0 -105
  803. data/ext/pg_query/include/storage/predicate.h +0 -87
  804. data/ext/pg_query/include/storage/proc.h +0 -466
  805. data/ext/pg_query/include/storage/procarray.h +0 -99
  806. data/ext/pg_query/include/storage/proclist_types.h +0 -51
  807. data/ext/pg_query/include/storage/procsignal.h +0 -73
  808. data/ext/pg_query/include/storage/relfilelocator.h +0 -99
  809. data/ext/pg_query/include/storage/s_lock.h +0 -867
  810. data/ext/pg_query/include/storage/sharedfileset.h +0 -37
  811. data/ext/pg_query/include/storage/shm_mq.h +0 -86
  812. data/ext/pg_query/include/storage/shm_toc.h +0 -58
  813. data/ext/pg_query/include/storage/shmem.h +0 -59
  814. data/ext/pg_query/include/storage/sinval.h +0 -153
  815. data/ext/pg_query/include/storage/sinvaladt.h +0 -45
  816. data/ext/pg_query/include/storage/smgr.h +0 -113
  817. data/ext/pg_query/include/storage/spin.h +0 -77
  818. data/ext/pg_query/include/storage/standby.h +0 -99
  819. data/ext/pg_query/include/storage/standbydefs.h +0 -74
  820. data/ext/pg_query/include/storage/sync.h +0 -66
  821. data/ext/pg_query/include/tcop/cmdtag.h +0 -63
  822. data/ext/pg_query/include/tcop/cmdtaglist.h +0 -218
  823. data/ext/pg_query/include/tcop/deparse_utility.h +0 -108
  824. data/ext/pg_query/include/tcop/dest.h +0 -147
  825. data/ext/pg_query/include/tcop/fastpath.h +0 -20
  826. data/ext/pg_query/include/tcop/pquery.h +0 -51
  827. data/ext/pg_query/include/tcop/tcopprot.h +0 -94
  828. data/ext/pg_query/include/tcop/utility.h +0 -112
  829. data/ext/pg_query/include/tsearch/ts_cache.h +0 -96
  830. data/ext/pg_query/include/utils/acl.h +0 -278
  831. data/ext/pg_query/include/utils/aclchk_internal.h +0 -45
  832. data/ext/pg_query/include/utils/array.h +0 -482
  833. data/ext/pg_query/include/utils/backend_progress.h +0 -45
  834. data/ext/pg_query/include/utils/backend_status.h +0 -342
  835. data/ext/pg_query/include/utils/builtins.h +0 -136
  836. data/ext/pg_query/include/utils/bytea.h +0 -28
  837. data/ext/pg_query/include/utils/catcache.h +0 -231
  838. data/ext/pg_query/include/utils/date.h +0 -118
  839. data/ext/pg_query/include/utils/datetime.h +0 -364
  840. data/ext/pg_query/include/utils/datum.h +0 -76
  841. data/ext/pg_query/include/utils/dsa.h +0 -127
  842. data/ext/pg_query/include/utils/elog.h +0 -545
  843. data/ext/pg_query/include/utils/errcodes.h +0 -354
  844. data/ext/pg_query/include/utils/expandeddatum.h +0 -170
  845. data/ext/pg_query/include/utils/expandedrecord.h +0 -241
  846. data/ext/pg_query/include/utils/float.h +0 -357
  847. data/ext/pg_query/include/utils/fmgroids.h +0 -3314
  848. data/ext/pg_query/include/utils/fmgrprotos.h +0 -2871
  849. data/ext/pg_query/include/utils/fmgrtab.h +0 -49
  850. data/ext/pg_query/include/utils/guc.h +0 -442
  851. data/ext/pg_query/include/utils/guc_hooks.h +0 -163
  852. data/ext/pg_query/include/utils/guc_tables.h +0 -322
  853. data/ext/pg_query/include/utils/hsearch.h +0 -153
  854. data/ext/pg_query/include/utils/inval.h +0 -68
  855. data/ext/pg_query/include/utils/logtape.h +0 -77
  856. data/ext/pg_query/include/utils/lsyscache.h +0 -212
  857. data/ext/pg_query/include/utils/memdebug.h +0 -82
  858. data/ext/pg_query/include/utils/memutils.h +0 -186
  859. data/ext/pg_query/include/utils/memutils_internal.h +0 -136
  860. data/ext/pg_query/include/utils/memutils_memorychunk.h +0 -237
  861. data/ext/pg_query/include/utils/numeric.h +0 -105
  862. data/ext/pg_query/include/utils/palloc.h +0 -165
  863. data/ext/pg_query/include/utils/partcache.h +0 -103
  864. data/ext/pg_query/include/utils/pg_locale.h +0 -135
  865. data/ext/pg_query/include/utils/pgstat_internal.h +0 -814
  866. data/ext/pg_query/include/utils/pidfile.h +0 -56
  867. data/ext/pg_query/include/utils/plancache.h +0 -236
  868. data/ext/pg_query/include/utils/portal.h +0 -252
  869. data/ext/pg_query/include/utils/queryenvironment.h +0 -74
  870. data/ext/pg_query/include/utils/regproc.h +0 -39
  871. data/ext/pg_query/include/utils/rel.h +0 -712
  872. data/ext/pg_query/include/utils/relcache.h +0 -158
  873. data/ext/pg_query/include/utils/reltrigger.h +0 -81
  874. data/ext/pg_query/include/utils/resowner.h +0 -86
  875. data/ext/pg_query/include/utils/ruleutils.h +0 -52
  876. data/ext/pg_query/include/utils/sharedtuplestore.h +0 -61
  877. data/ext/pg_query/include/utils/snapmgr.h +0 -181
  878. data/ext/pg_query/include/utils/snapshot.h +0 -219
  879. data/ext/pg_query/include/utils/sortsupport.h +0 -391
  880. data/ext/pg_query/include/utils/syscache.h +0 -227
  881. data/ext/pg_query/include/utils/timeout.h +0 -95
  882. data/ext/pg_query/include/utils/timestamp.h +0 -147
  883. data/ext/pg_query/include/utils/tuplesort.h +0 -445
  884. data/ext/pg_query/include/utils/tuplestore.h +0 -91
  885. data/ext/pg_query/include/utils/typcache.h +0 -209
  886. data/ext/pg_query/include/utils/varlena.h +0 -53
  887. data/ext/pg_query/include/utils/wait_event.h +0 -294
  888. data/ext/pg_query/include/utils/xml.h +0 -94
  889. data/ext/pg_query/include/varatt.h +0 -358
  890. data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2220
  891. data/ext/pg_query/src_port_strnlen.c +0 -39
  892. /data/ext/pg_query/include/{access → postgres/access}/rmgr.h +0 -0
  893. /data/ext/pg_query/include/{commands → postgres/commands}/user.h +0 -0
  894. /data/ext/pg_query/include/{common → postgres/common}/unicode_nonspacing_table.h +0 -0
  895. /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
  896. /data/ext/pg_query/include/{postgres_ext.h → postgres/postgres_ext.h} +0 -0
  897. /data/ext/pg_query/include/{utils → postgres/utils}/probes.h +0 -0
  898. /data/ext/pg_query/include/{utils → postgres/utils}/ps_status.h +0 -0
@@ -1,3354 +0,0 @@
1
- /*--------------------------------------------------------------------
2
- * Symbols referenced in this file:
3
- * - _equalAlias
4
- * - _equalRangeVar
5
- * - _equalTableFunc
6
- * - _equalIntoClause
7
- * - _equalVar
8
- * - _equalParam
9
- * - _equalAggref
10
- * - _equalGroupingFunc
11
- * - _equalWindowFunc
12
- * - _equalSubscriptingRef
13
- * - _equalFuncExpr
14
- * - _equalNamedArgExpr
15
- * - _equalOpExpr
16
- * - _equalDistinctExpr
17
- * - _equalNullIfExpr
18
- * - _equalScalarArrayOpExpr
19
- * - _equalBoolExpr
20
- * - _equalSubLink
21
- * - _equalSubPlan
22
- * - _equalAlternativeSubPlan
23
- * - _equalFieldSelect
24
- * - _equalFieldStore
25
- * - _equalRelabelType
26
- * - _equalCoerceViaIO
27
- * - _equalArrayCoerceExpr
28
- * - _equalConvertRowtypeExpr
29
- * - _equalCollateExpr
30
- * - _equalCaseExpr
31
- * - _equalCaseWhen
32
- * - _equalCaseTestExpr
33
- * - _equalArrayExpr
34
- * - _equalRowExpr
35
- * - _equalRowCompareExpr
36
- * - _equalCoalesceExpr
37
- * - _equalMinMaxExpr
38
- * - _equalSQLValueFunction
39
- * - _equalXmlExpr
40
- * - _equalJsonFormat
41
- * - _equalJsonReturning
42
- * - _equalJsonValueExpr
43
- * - _equalJsonConstructorExpr
44
- * - _equalJsonIsPredicate
45
- * - _equalNullTest
46
- * - _equalBooleanTest
47
- * - _equalCoerceToDomain
48
- * - _equalCoerceToDomainValue
49
- * - _equalSetToDefault
50
- * - _equalCurrentOfExpr
51
- * - _equalNextValueExpr
52
- * - _equalInferenceElem
53
- * - _equalTargetEntry
54
- * - _equalRangeTblRef
55
- * - _equalJoinExpr
56
- * - _equalFromExpr
57
- * - _equalOnConflictExpr
58
- * - _equalQuery
59
- * - _equalTypeName
60
- * - _equalColumnRef
61
- * - _equalParamRef
62
- * - _equalA_Expr
63
- * - _equalTypeCast
64
- * - _equalCollateClause
65
- * - _equalRoleSpec
66
- * - _equalFuncCall
67
- * - _equalA_Star
68
- * - _equalA_Indices
69
- * - _equalA_Indirection
70
- * - _equalA_ArrayExpr
71
- * - _equalResTarget
72
- * - _equalMultiAssignRef
73
- * - _equalSortBy
74
- * - _equalWindowDef
75
- * - _equalRangeSubselect
76
- * - _equalRangeFunction
77
- * - _equalRangeTableFunc
78
- * - _equalRangeTableFuncCol
79
- * - _equalRangeTableSample
80
- * - _equalColumnDef
81
- * - _equalTableLikeClause
82
- * - _equalIndexElem
83
- * - _equalDefElem
84
- * - _equalLockingClause
85
- * - _equalXmlSerialize
86
- * - _equalPartitionElem
87
- * - _equalPartitionSpec
88
- * - _equalPartitionBoundSpec
89
- * - _equalPartitionRangeDatum
90
- * - _equalPartitionCmd
91
- * - _equalRangeTblEntry
92
- * - _equalRTEPermissionInfo
93
- * - _equalRangeTblFunction
94
- * - _equalTableSampleClause
95
- * - _equalWithCheckOption
96
- * - _equalSortGroupClause
97
- * - _equalGroupingSet
98
- * - _equalWindowClause
99
- * - _equalRowMarkClause
100
- * - _equalWithClause
101
- * - _equalInferClause
102
- * - _equalOnConflictClause
103
- * - _equalCTESearchClause
104
- * - _equalCTECycleClause
105
- * - _equalCommonTableExpr
106
- * - _equalMergeWhenClause
107
- * - _equalMergeAction
108
- * - _equalTriggerTransition
109
- * - _equalJsonOutput
110
- * - _equalJsonKeyValue
111
- * - _equalJsonObjectConstructor
112
- * - _equalJsonArrayConstructor
113
- * - _equalJsonArrayQueryConstructor
114
- * - _equalJsonAggConstructor
115
- * - _equalJsonObjectAgg
116
- * - _equalJsonArrayAgg
117
- * - _equalRawStmt
118
- * - _equalInsertStmt
119
- * - _equalDeleteStmt
120
- * - _equalUpdateStmt
121
- * - _equalMergeStmt
122
- * - _equalSelectStmt
123
- * - _equalSetOperationStmt
124
- * - _equalReturnStmt
125
- * - _equalPLAssignStmt
126
- * - _equalCreateSchemaStmt
127
- * - _equalAlterTableStmt
128
- * - _equalReplicaIdentityStmt
129
- * - _equalAlterTableCmd
130
- * - _equalAlterCollationStmt
131
- * - _equalAlterDomainStmt
132
- * - _equalGrantStmt
133
- * - _equalObjectWithArgs
134
- * - _equalAccessPriv
135
- * - _equalGrantRoleStmt
136
- * - _equalAlterDefaultPrivilegesStmt
137
- * - _equalCopyStmt
138
- * - _equalVariableSetStmt
139
- * - _equalVariableShowStmt
140
- * - _equalCreateStmt
141
- * - _equalConstraint
142
- * - _equalCreateTableSpaceStmt
143
- * - _equalDropTableSpaceStmt
144
- * - _equalAlterTableSpaceOptionsStmt
145
- * - _equalAlterTableMoveAllStmt
146
- * - _equalCreateExtensionStmt
147
- * - _equalAlterExtensionStmt
148
- * - _equalAlterExtensionContentsStmt
149
- * - _equalCreateFdwStmt
150
- * - _equalAlterFdwStmt
151
- * - _equalCreateForeignServerStmt
152
- * - _equalAlterForeignServerStmt
153
- * - _equalCreateForeignTableStmt
154
- * - _equalCreateUserMappingStmt
155
- * - _equalAlterUserMappingStmt
156
- * - _equalDropUserMappingStmt
157
- * - _equalImportForeignSchemaStmt
158
- * - _equalCreatePolicyStmt
159
- * - _equalAlterPolicyStmt
160
- * - _equalCreateAmStmt
161
- * - _equalCreateTrigStmt
162
- * - _equalCreateEventTrigStmt
163
- * - _equalAlterEventTrigStmt
164
- * - _equalCreatePLangStmt
165
- * - _equalCreateRoleStmt
166
- * - _equalAlterRoleStmt
167
- * - _equalAlterRoleSetStmt
168
- * - _equalDropRoleStmt
169
- * - _equalCreateSeqStmt
170
- * - _equalAlterSeqStmt
171
- * - _equalDefineStmt
172
- * - _equalCreateDomainStmt
173
- * - _equalCreateOpClassStmt
174
- * - _equalCreateOpClassItem
175
- * - _equalCreateOpFamilyStmt
176
- * - _equalAlterOpFamilyStmt
177
- * - _equalDropStmt
178
- * - _equalTruncateStmt
179
- * - _equalCommentStmt
180
- * - _equalSecLabelStmt
181
- * - _equalDeclareCursorStmt
182
- * - _equalClosePortalStmt
183
- * - _equalFetchStmt
184
- * - _equalIndexStmt
185
- * - _equalCreateStatsStmt
186
- * - _equalStatsElem
187
- * - _equalAlterStatsStmt
188
- * - _equalCreateFunctionStmt
189
- * - _equalFunctionParameter
190
- * - _equalAlterFunctionStmt
191
- * - _equalDoStmt
192
- * - _equalCallStmt
193
- * - _equalRenameStmt
194
- * - _equalAlterObjectDependsStmt
195
- * - _equalAlterObjectSchemaStmt
196
- * - _equalAlterOwnerStmt
197
- * - _equalAlterOperatorStmt
198
- * - _equalAlterTypeStmt
199
- * - _equalRuleStmt
200
- * - _equalNotifyStmt
201
- * - _equalListenStmt
202
- * - _equalUnlistenStmt
203
- * - _equalTransactionStmt
204
- * - _equalCompositeTypeStmt
205
- * - _equalCreateEnumStmt
206
- * - _equalCreateRangeStmt
207
- * - _equalAlterEnumStmt
208
- * - _equalViewStmt
209
- * - _equalLoadStmt
210
- * - _equalCreatedbStmt
211
- * - _equalAlterDatabaseStmt
212
- * - _equalAlterDatabaseRefreshCollStmt
213
- * - _equalAlterDatabaseSetStmt
214
- * - _equalDropdbStmt
215
- * - _equalAlterSystemStmt
216
- * - _equalClusterStmt
217
- * - _equalVacuumStmt
218
- * - _equalVacuumRelation
219
- * - _equalExplainStmt
220
- * - _equalCreateTableAsStmt
221
- * - _equalRefreshMatViewStmt
222
- * - _equalCheckPointStmt
223
- * - _equalDiscardStmt
224
- * - _equalLockStmt
225
- * - _equalConstraintsSetStmt
226
- * - _equalReindexStmt
227
- * - _equalCreateConversionStmt
228
- * - _equalCreateCastStmt
229
- * - _equalCreateTransformStmt
230
- * - _equalPrepareStmt
231
- * - _equalExecuteStmt
232
- * - _equalDeallocateStmt
233
- * - _equalDropOwnedStmt
234
- * - _equalReassignOwnedStmt
235
- * - _equalAlterTSDictionaryStmt
236
- * - _equalAlterTSConfigurationStmt
237
- * - _equalPublicationTable
238
- * - _equalPublicationObjSpec
239
- * - _equalCreatePublicationStmt
240
- * - _equalAlterPublicationStmt
241
- * - _equalCreateSubscriptionStmt
242
- * - _equalAlterSubscriptionStmt
243
- * - _equalDropSubscriptionStmt
244
- * - _equalPathKey
245
- * - _equalRestrictInfo
246
- * - _equalPlaceHolderVar
247
- * - _equalSpecialJoinInfo
248
- * - _equalAppendRelInfo
249
- * - _equalPlaceHolderInfo
250
- * - _equalInteger
251
- * - _equalFloat
252
- * - _equalBoolean
253
- * - _equalString
254
- * - _equalBitString
255
- *--------------------------------------------------------------------
256
- */
257
-
258
- /*-------------------------------------------------------------------------
259
- *
260
- * equalfuncs.funcs.c
261
- * Generated node infrastructure code
262
- *
263
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
264
- * Portions Copyright (c) 1994, Regents of the University of California
265
- *
266
- * NOTES
267
- * ******************************
268
- * *** DO NOT EDIT THIS FILE! ***
269
- * ******************************
270
- *
271
- * It has been GENERATED by src/backend/nodes/gen_node_support.pl
272
- *
273
- *-------------------------------------------------------------------------
274
- */
275
- #include "access/amapi.h"
276
- #include "access/sdir.h"
277
- #include "access/tableam.h"
278
- #include "access/tsmapi.h"
279
- #include "commands/event_trigger.h"
280
- #include "commands/trigger.h"
281
- #include "executor/tuptable.h"
282
- #include "foreign/fdwapi.h"
283
- #include "nodes/bitmapset.h"
284
- #include "nodes/execnodes.h"
285
- #include "nodes/extensible.h"
286
- #include "nodes/lockoptions.h"
287
- #include "nodes/miscnodes.h"
288
- #include "nodes/nodes.h"
289
- #include "nodes/parsenodes.h"
290
- #include "nodes/pathnodes.h"
291
- #include "nodes/plannodes.h"
292
- #include "nodes/primnodes.h"
293
- #include "nodes/replnodes.h"
294
- #include "nodes/supportnodes.h"
295
- #include "nodes/value.h"
296
- #include "utils/rel.h"
297
-
298
- static bool
299
- _equalAlias(const Alias *a, const Alias *b)
300
- {
301
- COMPARE_STRING_FIELD(aliasname);
302
- COMPARE_NODE_FIELD(colnames);
303
-
304
- return true;
305
- }
306
-
307
- static bool
308
- _equalRangeVar(const RangeVar *a, const RangeVar *b)
309
- {
310
- COMPARE_STRING_FIELD(catalogname);
311
- COMPARE_STRING_FIELD(schemaname);
312
- COMPARE_STRING_FIELD(relname);
313
- COMPARE_SCALAR_FIELD(inh);
314
- COMPARE_SCALAR_FIELD(relpersistence);
315
- COMPARE_NODE_FIELD(alias);
316
- COMPARE_LOCATION_FIELD(location);
317
-
318
- return true;
319
- }
320
-
321
- static bool
322
- _equalTableFunc(const TableFunc *a, const TableFunc *b)
323
- {
324
- COMPARE_NODE_FIELD(ns_uris);
325
- COMPARE_NODE_FIELD(ns_names);
326
- COMPARE_NODE_FIELD(docexpr);
327
- COMPARE_NODE_FIELD(rowexpr);
328
- COMPARE_NODE_FIELD(colnames);
329
- COMPARE_NODE_FIELD(coltypes);
330
- COMPARE_NODE_FIELD(coltypmods);
331
- COMPARE_NODE_FIELD(colcollations);
332
- COMPARE_NODE_FIELD(colexprs);
333
- COMPARE_NODE_FIELD(coldefexprs);
334
- COMPARE_BITMAPSET_FIELD(notnulls);
335
- COMPARE_SCALAR_FIELD(ordinalitycol);
336
- COMPARE_LOCATION_FIELD(location);
337
-
338
- return true;
339
- }
340
-
341
- static bool
342
- _equalIntoClause(const IntoClause *a, const IntoClause *b)
343
- {
344
- COMPARE_NODE_FIELD(rel);
345
- COMPARE_NODE_FIELD(colNames);
346
- COMPARE_STRING_FIELD(accessMethod);
347
- COMPARE_NODE_FIELD(options);
348
- COMPARE_SCALAR_FIELD(onCommit);
349
- COMPARE_STRING_FIELD(tableSpaceName);
350
- COMPARE_NODE_FIELD(viewQuery);
351
- COMPARE_SCALAR_FIELD(skipData);
352
-
353
- return true;
354
- }
355
-
356
- static bool
357
- _equalVar(const Var *a, const Var *b)
358
- {
359
- COMPARE_SCALAR_FIELD(varno);
360
- COMPARE_SCALAR_FIELD(varattno);
361
- COMPARE_SCALAR_FIELD(vartype);
362
- COMPARE_SCALAR_FIELD(vartypmod);
363
- COMPARE_SCALAR_FIELD(varcollid);
364
- COMPARE_BITMAPSET_FIELD(varnullingrels);
365
- COMPARE_SCALAR_FIELD(varlevelsup);
366
- COMPARE_LOCATION_FIELD(location);
367
-
368
- return true;
369
- }
370
-
371
- static bool
372
- _equalParam(const Param *a, const Param *b)
373
- {
374
- COMPARE_SCALAR_FIELD(paramkind);
375
- COMPARE_SCALAR_FIELD(paramid);
376
- COMPARE_SCALAR_FIELD(paramtype);
377
- COMPARE_SCALAR_FIELD(paramtypmod);
378
- COMPARE_SCALAR_FIELD(paramcollid);
379
- COMPARE_LOCATION_FIELD(location);
380
-
381
- return true;
382
- }
383
-
384
- static bool
385
- _equalAggref(const Aggref *a, const Aggref *b)
386
- {
387
- COMPARE_SCALAR_FIELD(aggfnoid);
388
- COMPARE_SCALAR_FIELD(aggtype);
389
- COMPARE_SCALAR_FIELD(aggcollid);
390
- COMPARE_SCALAR_FIELD(inputcollid);
391
- COMPARE_NODE_FIELD(aggargtypes);
392
- COMPARE_NODE_FIELD(aggdirectargs);
393
- COMPARE_NODE_FIELD(args);
394
- COMPARE_NODE_FIELD(aggorder);
395
- COMPARE_NODE_FIELD(aggdistinct);
396
- COMPARE_NODE_FIELD(aggfilter);
397
- COMPARE_SCALAR_FIELD(aggstar);
398
- COMPARE_SCALAR_FIELD(aggvariadic);
399
- COMPARE_SCALAR_FIELD(aggkind);
400
- COMPARE_SCALAR_FIELD(agglevelsup);
401
- COMPARE_SCALAR_FIELD(aggsplit);
402
- COMPARE_SCALAR_FIELD(aggno);
403
- COMPARE_SCALAR_FIELD(aggtransno);
404
- COMPARE_LOCATION_FIELD(location);
405
-
406
- return true;
407
- }
408
-
409
- static bool
410
- _equalGroupingFunc(const GroupingFunc *a, const GroupingFunc *b)
411
- {
412
- COMPARE_NODE_FIELD(args);
413
- COMPARE_SCALAR_FIELD(agglevelsup);
414
- COMPARE_LOCATION_FIELD(location);
415
-
416
- return true;
417
- }
418
-
419
- static bool
420
- _equalWindowFunc(const WindowFunc *a, const WindowFunc *b)
421
- {
422
- COMPARE_SCALAR_FIELD(winfnoid);
423
- COMPARE_SCALAR_FIELD(wintype);
424
- COMPARE_SCALAR_FIELD(wincollid);
425
- COMPARE_SCALAR_FIELD(inputcollid);
426
- COMPARE_NODE_FIELD(args);
427
- COMPARE_NODE_FIELD(aggfilter);
428
- COMPARE_SCALAR_FIELD(winref);
429
- COMPARE_SCALAR_FIELD(winstar);
430
- COMPARE_SCALAR_FIELD(winagg);
431
- COMPARE_LOCATION_FIELD(location);
432
-
433
- return true;
434
- }
435
-
436
- static bool
437
- _equalSubscriptingRef(const SubscriptingRef *a, const SubscriptingRef *b)
438
- {
439
- COMPARE_SCALAR_FIELD(refcontainertype);
440
- COMPARE_SCALAR_FIELD(refelemtype);
441
- COMPARE_SCALAR_FIELD(refrestype);
442
- COMPARE_SCALAR_FIELD(reftypmod);
443
- COMPARE_SCALAR_FIELD(refcollid);
444
- COMPARE_NODE_FIELD(refupperindexpr);
445
- COMPARE_NODE_FIELD(reflowerindexpr);
446
- COMPARE_NODE_FIELD(refexpr);
447
- COMPARE_NODE_FIELD(refassgnexpr);
448
-
449
- return true;
450
- }
451
-
452
- static bool
453
- _equalFuncExpr(const FuncExpr *a, const FuncExpr *b)
454
- {
455
- COMPARE_SCALAR_FIELD(funcid);
456
- COMPARE_SCALAR_FIELD(funcresulttype);
457
- COMPARE_SCALAR_FIELD(funcretset);
458
- COMPARE_SCALAR_FIELD(funcvariadic);
459
- COMPARE_SCALAR_FIELD(funccollid);
460
- COMPARE_SCALAR_FIELD(inputcollid);
461
- COMPARE_NODE_FIELD(args);
462
- COMPARE_LOCATION_FIELD(location);
463
-
464
- return true;
465
- }
466
-
467
- static bool
468
- _equalNamedArgExpr(const NamedArgExpr *a, const NamedArgExpr *b)
469
- {
470
- COMPARE_NODE_FIELD(arg);
471
- COMPARE_STRING_FIELD(name);
472
- COMPARE_SCALAR_FIELD(argnumber);
473
- COMPARE_LOCATION_FIELD(location);
474
-
475
- return true;
476
- }
477
-
478
- static bool
479
- _equalOpExpr(const OpExpr *a, const OpExpr *b)
480
- {
481
- COMPARE_SCALAR_FIELD(opno);
482
- if (a->opfuncid != b->opfuncid && a->opfuncid != 0 && b->opfuncid != 0)
483
- return false;
484
- COMPARE_SCALAR_FIELD(opresulttype);
485
- COMPARE_SCALAR_FIELD(opretset);
486
- COMPARE_SCALAR_FIELD(opcollid);
487
- COMPARE_SCALAR_FIELD(inputcollid);
488
- COMPARE_NODE_FIELD(args);
489
- COMPARE_LOCATION_FIELD(location);
490
-
491
- return true;
492
- }
493
-
494
- static bool
495
- _equalDistinctExpr(const DistinctExpr *a, const DistinctExpr *b)
496
- {
497
- COMPARE_SCALAR_FIELD(opno);
498
- if (a->opfuncid != b->opfuncid && a->opfuncid != 0 && b->opfuncid != 0)
499
- return false;
500
- COMPARE_SCALAR_FIELD(opresulttype);
501
- COMPARE_SCALAR_FIELD(opretset);
502
- COMPARE_SCALAR_FIELD(opcollid);
503
- COMPARE_SCALAR_FIELD(inputcollid);
504
- COMPARE_NODE_FIELD(args);
505
- COMPARE_LOCATION_FIELD(location);
506
-
507
- return true;
508
- }
509
-
510
- static bool
511
- _equalNullIfExpr(const NullIfExpr *a, const NullIfExpr *b)
512
- {
513
- COMPARE_SCALAR_FIELD(opno);
514
- if (a->opfuncid != b->opfuncid && a->opfuncid != 0 && b->opfuncid != 0)
515
- return false;
516
- COMPARE_SCALAR_FIELD(opresulttype);
517
- COMPARE_SCALAR_FIELD(opretset);
518
- COMPARE_SCALAR_FIELD(opcollid);
519
- COMPARE_SCALAR_FIELD(inputcollid);
520
- COMPARE_NODE_FIELD(args);
521
- COMPARE_LOCATION_FIELD(location);
522
-
523
- return true;
524
- }
525
-
526
- static bool
527
- _equalScalarArrayOpExpr(const ScalarArrayOpExpr *a, const ScalarArrayOpExpr *b)
528
- {
529
- COMPARE_SCALAR_FIELD(opno);
530
- if (a->opfuncid != b->opfuncid && a->opfuncid != 0 && b->opfuncid != 0)
531
- return false;
532
- if (a->hashfuncid != b->hashfuncid && a->hashfuncid != 0 && b->hashfuncid != 0)
533
- return false;
534
- if (a->negfuncid != b->negfuncid && a->negfuncid != 0 && b->negfuncid != 0)
535
- return false;
536
- COMPARE_SCALAR_FIELD(useOr);
537
- COMPARE_SCALAR_FIELD(inputcollid);
538
- COMPARE_NODE_FIELD(args);
539
- COMPARE_LOCATION_FIELD(location);
540
-
541
- return true;
542
- }
543
-
544
- static bool
545
- _equalBoolExpr(const BoolExpr *a, const BoolExpr *b)
546
- {
547
- COMPARE_SCALAR_FIELD(boolop);
548
- COMPARE_NODE_FIELD(args);
549
- COMPARE_LOCATION_FIELD(location);
550
-
551
- return true;
552
- }
553
-
554
- static bool
555
- _equalSubLink(const SubLink *a, const SubLink *b)
556
- {
557
- COMPARE_SCALAR_FIELD(subLinkType);
558
- COMPARE_SCALAR_FIELD(subLinkId);
559
- COMPARE_NODE_FIELD(testexpr);
560
- COMPARE_NODE_FIELD(operName);
561
- COMPARE_NODE_FIELD(subselect);
562
- COMPARE_LOCATION_FIELD(location);
563
-
564
- return true;
565
- }
566
-
567
- static bool
568
- _equalSubPlan(const SubPlan *a, const SubPlan *b)
569
- {
570
- COMPARE_SCALAR_FIELD(subLinkType);
571
- COMPARE_NODE_FIELD(testexpr);
572
- COMPARE_NODE_FIELD(paramIds);
573
- COMPARE_SCALAR_FIELD(plan_id);
574
- COMPARE_STRING_FIELD(plan_name);
575
- COMPARE_SCALAR_FIELD(firstColType);
576
- COMPARE_SCALAR_FIELD(firstColTypmod);
577
- COMPARE_SCALAR_FIELD(firstColCollation);
578
- COMPARE_SCALAR_FIELD(useHashTable);
579
- COMPARE_SCALAR_FIELD(unknownEqFalse);
580
- COMPARE_SCALAR_FIELD(parallel_safe);
581
- COMPARE_NODE_FIELD(setParam);
582
- COMPARE_NODE_FIELD(parParam);
583
- COMPARE_NODE_FIELD(args);
584
- COMPARE_SCALAR_FIELD(startup_cost);
585
- COMPARE_SCALAR_FIELD(per_call_cost);
586
-
587
- return true;
588
- }
589
-
590
- static bool
591
- _equalAlternativeSubPlan(const AlternativeSubPlan *a, const AlternativeSubPlan *b)
592
- {
593
- COMPARE_NODE_FIELD(subplans);
594
-
595
- return true;
596
- }
597
-
598
- static bool
599
- _equalFieldSelect(const FieldSelect *a, const FieldSelect *b)
600
- {
601
- COMPARE_NODE_FIELD(arg);
602
- COMPARE_SCALAR_FIELD(fieldnum);
603
- COMPARE_SCALAR_FIELD(resulttype);
604
- COMPARE_SCALAR_FIELD(resulttypmod);
605
- COMPARE_SCALAR_FIELD(resultcollid);
606
-
607
- return true;
608
- }
609
-
610
- static bool
611
- _equalFieldStore(const FieldStore *a, const FieldStore *b)
612
- {
613
- COMPARE_NODE_FIELD(arg);
614
- COMPARE_NODE_FIELD(newvals);
615
- COMPARE_NODE_FIELD(fieldnums);
616
- COMPARE_SCALAR_FIELD(resulttype);
617
-
618
- return true;
619
- }
620
-
621
- static bool
622
- _equalRelabelType(const RelabelType *a, const RelabelType *b)
623
- {
624
- COMPARE_NODE_FIELD(arg);
625
- COMPARE_SCALAR_FIELD(resulttype);
626
- COMPARE_SCALAR_FIELD(resulttypmod);
627
- COMPARE_SCALAR_FIELD(resultcollid);
628
- COMPARE_LOCATION_FIELD(location);
629
-
630
- return true;
631
- }
632
-
633
- static bool
634
- _equalCoerceViaIO(const CoerceViaIO *a, const CoerceViaIO *b)
635
- {
636
- COMPARE_NODE_FIELD(arg);
637
- COMPARE_SCALAR_FIELD(resulttype);
638
- COMPARE_SCALAR_FIELD(resultcollid);
639
- COMPARE_LOCATION_FIELD(location);
640
-
641
- return true;
642
- }
643
-
644
- static bool
645
- _equalArrayCoerceExpr(const ArrayCoerceExpr *a, const ArrayCoerceExpr *b)
646
- {
647
- COMPARE_NODE_FIELD(arg);
648
- COMPARE_NODE_FIELD(elemexpr);
649
- COMPARE_SCALAR_FIELD(resulttype);
650
- COMPARE_SCALAR_FIELD(resulttypmod);
651
- COMPARE_SCALAR_FIELD(resultcollid);
652
- COMPARE_LOCATION_FIELD(location);
653
-
654
- return true;
655
- }
656
-
657
- static bool
658
- _equalConvertRowtypeExpr(const ConvertRowtypeExpr *a, const ConvertRowtypeExpr *b)
659
- {
660
- COMPARE_NODE_FIELD(arg);
661
- COMPARE_SCALAR_FIELD(resulttype);
662
- COMPARE_LOCATION_FIELD(location);
663
-
664
- return true;
665
- }
666
-
667
- static bool
668
- _equalCollateExpr(const CollateExpr *a, const CollateExpr *b)
669
- {
670
- COMPARE_NODE_FIELD(arg);
671
- COMPARE_SCALAR_FIELD(collOid);
672
- COMPARE_LOCATION_FIELD(location);
673
-
674
- return true;
675
- }
676
-
677
- static bool
678
- _equalCaseExpr(const CaseExpr *a, const CaseExpr *b)
679
- {
680
- COMPARE_SCALAR_FIELD(casetype);
681
- COMPARE_SCALAR_FIELD(casecollid);
682
- COMPARE_NODE_FIELD(arg);
683
- COMPARE_NODE_FIELD(args);
684
- COMPARE_NODE_FIELD(defresult);
685
- COMPARE_LOCATION_FIELD(location);
686
-
687
- return true;
688
- }
689
-
690
- static bool
691
- _equalCaseWhen(const CaseWhen *a, const CaseWhen *b)
692
- {
693
- COMPARE_NODE_FIELD(expr);
694
- COMPARE_NODE_FIELD(result);
695
- COMPARE_LOCATION_FIELD(location);
696
-
697
- return true;
698
- }
699
-
700
- static bool
701
- _equalCaseTestExpr(const CaseTestExpr *a, const CaseTestExpr *b)
702
- {
703
- COMPARE_SCALAR_FIELD(typeId);
704
- COMPARE_SCALAR_FIELD(typeMod);
705
- COMPARE_SCALAR_FIELD(collation);
706
-
707
- return true;
708
- }
709
-
710
- static bool
711
- _equalArrayExpr(const ArrayExpr *a, const ArrayExpr *b)
712
- {
713
- COMPARE_SCALAR_FIELD(array_typeid);
714
- COMPARE_SCALAR_FIELD(array_collid);
715
- COMPARE_SCALAR_FIELD(element_typeid);
716
- COMPARE_NODE_FIELD(elements);
717
- COMPARE_SCALAR_FIELD(multidims);
718
- COMPARE_LOCATION_FIELD(location);
719
-
720
- return true;
721
- }
722
-
723
- static bool
724
- _equalRowExpr(const RowExpr *a, const RowExpr *b)
725
- {
726
- COMPARE_NODE_FIELD(args);
727
- COMPARE_SCALAR_FIELD(row_typeid);
728
- COMPARE_NODE_FIELD(colnames);
729
- COMPARE_LOCATION_FIELD(location);
730
-
731
- return true;
732
- }
733
-
734
- static bool
735
- _equalRowCompareExpr(const RowCompareExpr *a, const RowCompareExpr *b)
736
- {
737
- COMPARE_SCALAR_FIELD(rctype);
738
- COMPARE_NODE_FIELD(opnos);
739
- COMPARE_NODE_FIELD(opfamilies);
740
- COMPARE_NODE_FIELD(inputcollids);
741
- COMPARE_NODE_FIELD(largs);
742
- COMPARE_NODE_FIELD(rargs);
743
-
744
- return true;
745
- }
746
-
747
- static bool
748
- _equalCoalesceExpr(const CoalesceExpr *a, const CoalesceExpr *b)
749
- {
750
- COMPARE_SCALAR_FIELD(coalescetype);
751
- COMPARE_SCALAR_FIELD(coalescecollid);
752
- COMPARE_NODE_FIELD(args);
753
- COMPARE_LOCATION_FIELD(location);
754
-
755
- return true;
756
- }
757
-
758
- static bool
759
- _equalMinMaxExpr(const MinMaxExpr *a, const MinMaxExpr *b)
760
- {
761
- COMPARE_SCALAR_FIELD(minmaxtype);
762
- COMPARE_SCALAR_FIELD(minmaxcollid);
763
- COMPARE_SCALAR_FIELD(inputcollid);
764
- COMPARE_SCALAR_FIELD(op);
765
- COMPARE_NODE_FIELD(args);
766
- COMPARE_LOCATION_FIELD(location);
767
-
768
- return true;
769
- }
770
-
771
- static bool
772
- _equalSQLValueFunction(const SQLValueFunction *a, const SQLValueFunction *b)
773
- {
774
- COMPARE_SCALAR_FIELD(op);
775
- COMPARE_SCALAR_FIELD(type);
776
- COMPARE_SCALAR_FIELD(typmod);
777
- COMPARE_LOCATION_FIELD(location);
778
-
779
- return true;
780
- }
781
-
782
- static bool
783
- _equalXmlExpr(const XmlExpr *a, const XmlExpr *b)
784
- {
785
- COMPARE_SCALAR_FIELD(op);
786
- COMPARE_STRING_FIELD(name);
787
- COMPARE_NODE_FIELD(named_args);
788
- COMPARE_NODE_FIELD(arg_names);
789
- COMPARE_NODE_FIELD(args);
790
- COMPARE_SCALAR_FIELD(xmloption);
791
- COMPARE_SCALAR_FIELD(indent);
792
- COMPARE_SCALAR_FIELD(type);
793
- COMPARE_SCALAR_FIELD(typmod);
794
- COMPARE_LOCATION_FIELD(location);
795
-
796
- return true;
797
- }
798
-
799
- static bool
800
- _equalJsonFormat(const JsonFormat *a, const JsonFormat *b)
801
- {
802
- COMPARE_SCALAR_FIELD(format_type);
803
- COMPARE_SCALAR_FIELD(encoding);
804
- COMPARE_LOCATION_FIELD(location);
805
-
806
- return true;
807
- }
808
-
809
- static bool
810
- _equalJsonReturning(const JsonReturning *a, const JsonReturning *b)
811
- {
812
- COMPARE_NODE_FIELD(format);
813
- COMPARE_SCALAR_FIELD(typid);
814
- COMPARE_SCALAR_FIELD(typmod);
815
-
816
- return true;
817
- }
818
-
819
- static bool
820
- _equalJsonValueExpr(const JsonValueExpr *a, const JsonValueExpr *b)
821
- {
822
- COMPARE_NODE_FIELD(raw_expr);
823
- COMPARE_NODE_FIELD(formatted_expr);
824
- COMPARE_NODE_FIELD(format);
825
-
826
- return true;
827
- }
828
-
829
- static bool
830
- _equalJsonConstructorExpr(const JsonConstructorExpr *a, const JsonConstructorExpr *b)
831
- {
832
- COMPARE_SCALAR_FIELD(type);
833
- COMPARE_NODE_FIELD(args);
834
- COMPARE_NODE_FIELD(func);
835
- COMPARE_NODE_FIELD(coercion);
836
- COMPARE_NODE_FIELD(returning);
837
- COMPARE_SCALAR_FIELD(absent_on_null);
838
- COMPARE_SCALAR_FIELD(unique);
839
- COMPARE_LOCATION_FIELD(location);
840
-
841
- return true;
842
- }
843
-
844
- static bool
845
- _equalJsonIsPredicate(const JsonIsPredicate *a, const JsonIsPredicate *b)
846
- {
847
- COMPARE_NODE_FIELD(expr);
848
- COMPARE_NODE_FIELD(format);
849
- COMPARE_SCALAR_FIELD(item_type);
850
- COMPARE_SCALAR_FIELD(unique_keys);
851
- COMPARE_LOCATION_FIELD(location);
852
-
853
- return true;
854
- }
855
-
856
- static bool
857
- _equalNullTest(const NullTest *a, const NullTest *b)
858
- {
859
- COMPARE_NODE_FIELD(arg);
860
- COMPARE_SCALAR_FIELD(nulltesttype);
861
- COMPARE_SCALAR_FIELD(argisrow);
862
- COMPARE_LOCATION_FIELD(location);
863
-
864
- return true;
865
- }
866
-
867
- static bool
868
- _equalBooleanTest(const BooleanTest *a, const BooleanTest *b)
869
- {
870
- COMPARE_NODE_FIELD(arg);
871
- COMPARE_SCALAR_FIELD(booltesttype);
872
- COMPARE_LOCATION_FIELD(location);
873
-
874
- return true;
875
- }
876
-
877
- static bool
878
- _equalCoerceToDomain(const CoerceToDomain *a, const CoerceToDomain *b)
879
- {
880
- COMPARE_NODE_FIELD(arg);
881
- COMPARE_SCALAR_FIELD(resulttype);
882
- COMPARE_SCALAR_FIELD(resulttypmod);
883
- COMPARE_SCALAR_FIELD(resultcollid);
884
- COMPARE_LOCATION_FIELD(location);
885
-
886
- return true;
887
- }
888
-
889
- static bool
890
- _equalCoerceToDomainValue(const CoerceToDomainValue *a, const CoerceToDomainValue *b)
891
- {
892
- COMPARE_SCALAR_FIELD(typeId);
893
- COMPARE_SCALAR_FIELD(typeMod);
894
- COMPARE_SCALAR_FIELD(collation);
895
- COMPARE_LOCATION_FIELD(location);
896
-
897
- return true;
898
- }
899
-
900
- static bool
901
- _equalSetToDefault(const SetToDefault *a, const SetToDefault *b)
902
- {
903
- COMPARE_SCALAR_FIELD(typeId);
904
- COMPARE_SCALAR_FIELD(typeMod);
905
- COMPARE_SCALAR_FIELD(collation);
906
- COMPARE_LOCATION_FIELD(location);
907
-
908
- return true;
909
- }
910
-
911
- static bool
912
- _equalCurrentOfExpr(const CurrentOfExpr *a, const CurrentOfExpr *b)
913
- {
914
- COMPARE_SCALAR_FIELD(cvarno);
915
- COMPARE_STRING_FIELD(cursor_name);
916
- COMPARE_SCALAR_FIELD(cursor_param);
917
-
918
- return true;
919
- }
920
-
921
- static bool
922
- _equalNextValueExpr(const NextValueExpr *a, const NextValueExpr *b)
923
- {
924
- COMPARE_SCALAR_FIELD(seqid);
925
- COMPARE_SCALAR_FIELD(typeId);
926
-
927
- return true;
928
- }
929
-
930
- static bool
931
- _equalInferenceElem(const InferenceElem *a, const InferenceElem *b)
932
- {
933
- COMPARE_NODE_FIELD(expr);
934
- COMPARE_SCALAR_FIELD(infercollid);
935
- COMPARE_SCALAR_FIELD(inferopclass);
936
-
937
- return true;
938
- }
939
-
940
- static bool
941
- _equalTargetEntry(const TargetEntry *a, const TargetEntry *b)
942
- {
943
- COMPARE_NODE_FIELD(expr);
944
- COMPARE_SCALAR_FIELD(resno);
945
- COMPARE_STRING_FIELD(resname);
946
- COMPARE_SCALAR_FIELD(ressortgroupref);
947
- COMPARE_SCALAR_FIELD(resorigtbl);
948
- COMPARE_SCALAR_FIELD(resorigcol);
949
- COMPARE_SCALAR_FIELD(resjunk);
950
-
951
- return true;
952
- }
953
-
954
- static bool
955
- _equalRangeTblRef(const RangeTblRef *a, const RangeTblRef *b)
956
- {
957
- COMPARE_SCALAR_FIELD(rtindex);
958
-
959
- return true;
960
- }
961
-
962
- static bool
963
- _equalJoinExpr(const JoinExpr *a, const JoinExpr *b)
964
- {
965
- COMPARE_SCALAR_FIELD(jointype);
966
- COMPARE_SCALAR_FIELD(isNatural);
967
- COMPARE_NODE_FIELD(larg);
968
- COMPARE_NODE_FIELD(rarg);
969
- COMPARE_NODE_FIELD(usingClause);
970
- COMPARE_NODE_FIELD(join_using_alias);
971
- COMPARE_NODE_FIELD(quals);
972
- COMPARE_NODE_FIELD(alias);
973
- COMPARE_SCALAR_FIELD(rtindex);
974
-
975
- return true;
976
- }
977
-
978
- static bool
979
- _equalFromExpr(const FromExpr *a, const FromExpr *b)
980
- {
981
- COMPARE_NODE_FIELD(fromlist);
982
- COMPARE_NODE_FIELD(quals);
983
-
984
- return true;
985
- }
986
-
987
- static bool
988
- _equalOnConflictExpr(const OnConflictExpr *a, const OnConflictExpr *b)
989
- {
990
- COMPARE_SCALAR_FIELD(action);
991
- COMPARE_NODE_FIELD(arbiterElems);
992
- COMPARE_NODE_FIELD(arbiterWhere);
993
- COMPARE_SCALAR_FIELD(constraint);
994
- COMPARE_NODE_FIELD(onConflictSet);
995
- COMPARE_NODE_FIELD(onConflictWhere);
996
- COMPARE_SCALAR_FIELD(exclRelIndex);
997
- COMPARE_NODE_FIELD(exclRelTlist);
998
-
999
- return true;
1000
- }
1001
-
1002
- static bool
1003
- _equalQuery(const Query *a, const Query *b)
1004
- {
1005
- COMPARE_SCALAR_FIELD(commandType);
1006
- COMPARE_SCALAR_FIELD(querySource);
1007
- COMPARE_SCALAR_FIELD(canSetTag);
1008
- COMPARE_NODE_FIELD(utilityStmt);
1009
- COMPARE_SCALAR_FIELD(resultRelation);
1010
- COMPARE_SCALAR_FIELD(hasAggs);
1011
- COMPARE_SCALAR_FIELD(hasWindowFuncs);
1012
- COMPARE_SCALAR_FIELD(hasTargetSRFs);
1013
- COMPARE_SCALAR_FIELD(hasSubLinks);
1014
- COMPARE_SCALAR_FIELD(hasDistinctOn);
1015
- COMPARE_SCALAR_FIELD(hasRecursive);
1016
- COMPARE_SCALAR_FIELD(hasModifyingCTE);
1017
- COMPARE_SCALAR_FIELD(hasForUpdate);
1018
- COMPARE_SCALAR_FIELD(hasRowSecurity);
1019
- COMPARE_SCALAR_FIELD(isReturn);
1020
- COMPARE_NODE_FIELD(cteList);
1021
- COMPARE_NODE_FIELD(rtable);
1022
- COMPARE_NODE_FIELD(rteperminfos);
1023
- COMPARE_NODE_FIELD(jointree);
1024
- COMPARE_NODE_FIELD(mergeActionList);
1025
- COMPARE_SCALAR_FIELD(mergeUseOuterJoin);
1026
- COMPARE_NODE_FIELD(targetList);
1027
- COMPARE_SCALAR_FIELD(override);
1028
- COMPARE_NODE_FIELD(onConflict);
1029
- COMPARE_NODE_FIELD(returningList);
1030
- COMPARE_NODE_FIELD(groupClause);
1031
- COMPARE_SCALAR_FIELD(groupDistinct);
1032
- COMPARE_NODE_FIELD(groupingSets);
1033
- COMPARE_NODE_FIELD(havingQual);
1034
- COMPARE_NODE_FIELD(windowClause);
1035
- COMPARE_NODE_FIELD(distinctClause);
1036
- COMPARE_NODE_FIELD(sortClause);
1037
- COMPARE_NODE_FIELD(limitOffset);
1038
- COMPARE_NODE_FIELD(limitCount);
1039
- COMPARE_SCALAR_FIELD(limitOption);
1040
- COMPARE_NODE_FIELD(rowMarks);
1041
- COMPARE_NODE_FIELD(setOperations);
1042
- COMPARE_NODE_FIELD(constraintDeps);
1043
- COMPARE_NODE_FIELD(withCheckOptions);
1044
- COMPARE_LOCATION_FIELD(stmt_location);
1045
- COMPARE_SCALAR_FIELD(stmt_len);
1046
-
1047
- return true;
1048
- }
1049
-
1050
- static bool
1051
- _equalTypeName(const TypeName *a, const TypeName *b)
1052
- {
1053
- COMPARE_NODE_FIELD(names);
1054
- COMPARE_SCALAR_FIELD(typeOid);
1055
- COMPARE_SCALAR_FIELD(setof);
1056
- COMPARE_SCALAR_FIELD(pct_type);
1057
- COMPARE_NODE_FIELD(typmods);
1058
- COMPARE_SCALAR_FIELD(typemod);
1059
- COMPARE_NODE_FIELD(arrayBounds);
1060
- COMPARE_LOCATION_FIELD(location);
1061
-
1062
- return true;
1063
- }
1064
-
1065
- static bool
1066
- _equalColumnRef(const ColumnRef *a, const ColumnRef *b)
1067
- {
1068
- COMPARE_NODE_FIELD(fields);
1069
- COMPARE_LOCATION_FIELD(location);
1070
-
1071
- return true;
1072
- }
1073
-
1074
- static bool
1075
- _equalParamRef(const ParamRef *a, const ParamRef *b)
1076
- {
1077
- COMPARE_SCALAR_FIELD(number);
1078
- COMPARE_LOCATION_FIELD(location);
1079
-
1080
- return true;
1081
- }
1082
-
1083
- static bool
1084
- _equalA_Expr(const A_Expr *a, const A_Expr *b)
1085
- {
1086
- COMPARE_SCALAR_FIELD(kind);
1087
- COMPARE_NODE_FIELD(name);
1088
- COMPARE_NODE_FIELD(lexpr);
1089
- COMPARE_NODE_FIELD(rexpr);
1090
- COMPARE_LOCATION_FIELD(location);
1091
-
1092
- return true;
1093
- }
1094
-
1095
- static bool
1096
- _equalTypeCast(const TypeCast *a, const TypeCast *b)
1097
- {
1098
- COMPARE_NODE_FIELD(arg);
1099
- COMPARE_NODE_FIELD(typeName);
1100
- COMPARE_LOCATION_FIELD(location);
1101
-
1102
- return true;
1103
- }
1104
-
1105
- static bool
1106
- _equalCollateClause(const CollateClause *a, const CollateClause *b)
1107
- {
1108
- COMPARE_NODE_FIELD(arg);
1109
- COMPARE_NODE_FIELD(collname);
1110
- COMPARE_LOCATION_FIELD(location);
1111
-
1112
- return true;
1113
- }
1114
-
1115
- static bool
1116
- _equalRoleSpec(const RoleSpec *a, const RoleSpec *b)
1117
- {
1118
- COMPARE_SCALAR_FIELD(roletype);
1119
- COMPARE_STRING_FIELD(rolename);
1120
- COMPARE_LOCATION_FIELD(location);
1121
-
1122
- return true;
1123
- }
1124
-
1125
- static bool
1126
- _equalFuncCall(const FuncCall *a, const FuncCall *b)
1127
- {
1128
- COMPARE_NODE_FIELD(funcname);
1129
- COMPARE_NODE_FIELD(args);
1130
- COMPARE_NODE_FIELD(agg_order);
1131
- COMPARE_NODE_FIELD(agg_filter);
1132
- COMPARE_NODE_FIELD(over);
1133
- COMPARE_SCALAR_FIELD(agg_within_group);
1134
- COMPARE_SCALAR_FIELD(agg_star);
1135
- COMPARE_SCALAR_FIELD(agg_distinct);
1136
- COMPARE_SCALAR_FIELD(func_variadic);
1137
- COMPARE_LOCATION_FIELD(location);
1138
-
1139
- return true;
1140
- }
1141
-
1142
- static bool
1143
- _equalA_Star(const A_Star *a, const A_Star *b)
1144
- {
1145
-
1146
- return true;
1147
- }
1148
-
1149
- static bool
1150
- _equalA_Indices(const A_Indices *a, const A_Indices *b)
1151
- {
1152
- COMPARE_SCALAR_FIELD(is_slice);
1153
- COMPARE_NODE_FIELD(lidx);
1154
- COMPARE_NODE_FIELD(uidx);
1155
-
1156
- return true;
1157
- }
1158
-
1159
- static bool
1160
- _equalA_Indirection(const A_Indirection *a, const A_Indirection *b)
1161
- {
1162
- COMPARE_NODE_FIELD(arg);
1163
- COMPARE_NODE_FIELD(indirection);
1164
-
1165
- return true;
1166
- }
1167
-
1168
- static bool
1169
- _equalA_ArrayExpr(const A_ArrayExpr *a, const A_ArrayExpr *b)
1170
- {
1171
- COMPARE_NODE_FIELD(elements);
1172
- COMPARE_LOCATION_FIELD(location);
1173
-
1174
- return true;
1175
- }
1176
-
1177
- static bool
1178
- _equalResTarget(const ResTarget *a, const ResTarget *b)
1179
- {
1180
- COMPARE_STRING_FIELD(name);
1181
- COMPARE_NODE_FIELD(indirection);
1182
- COMPARE_NODE_FIELD(val);
1183
- COMPARE_LOCATION_FIELD(location);
1184
-
1185
- return true;
1186
- }
1187
-
1188
- static bool
1189
- _equalMultiAssignRef(const MultiAssignRef *a, const MultiAssignRef *b)
1190
- {
1191
- COMPARE_NODE_FIELD(source);
1192
- COMPARE_SCALAR_FIELD(colno);
1193
- COMPARE_SCALAR_FIELD(ncolumns);
1194
-
1195
- return true;
1196
- }
1197
-
1198
- static bool
1199
- _equalSortBy(const SortBy *a, const SortBy *b)
1200
- {
1201
- COMPARE_NODE_FIELD(node);
1202
- COMPARE_SCALAR_FIELD(sortby_dir);
1203
- COMPARE_SCALAR_FIELD(sortby_nulls);
1204
- COMPARE_NODE_FIELD(useOp);
1205
- COMPARE_LOCATION_FIELD(location);
1206
-
1207
- return true;
1208
- }
1209
-
1210
- static bool
1211
- _equalWindowDef(const WindowDef *a, const WindowDef *b)
1212
- {
1213
- COMPARE_STRING_FIELD(name);
1214
- COMPARE_STRING_FIELD(refname);
1215
- COMPARE_NODE_FIELD(partitionClause);
1216
- COMPARE_NODE_FIELD(orderClause);
1217
- COMPARE_SCALAR_FIELD(frameOptions);
1218
- COMPARE_NODE_FIELD(startOffset);
1219
- COMPARE_NODE_FIELD(endOffset);
1220
- COMPARE_LOCATION_FIELD(location);
1221
-
1222
- return true;
1223
- }
1224
-
1225
- static bool
1226
- _equalRangeSubselect(const RangeSubselect *a, const RangeSubselect *b)
1227
- {
1228
- COMPARE_SCALAR_FIELD(lateral);
1229
- COMPARE_NODE_FIELD(subquery);
1230
- COMPARE_NODE_FIELD(alias);
1231
-
1232
- return true;
1233
- }
1234
-
1235
- static bool
1236
- _equalRangeFunction(const RangeFunction *a, const RangeFunction *b)
1237
- {
1238
- COMPARE_SCALAR_FIELD(lateral);
1239
- COMPARE_SCALAR_FIELD(ordinality);
1240
- COMPARE_SCALAR_FIELD(is_rowsfrom);
1241
- COMPARE_NODE_FIELD(functions);
1242
- COMPARE_NODE_FIELD(alias);
1243
- COMPARE_NODE_FIELD(coldeflist);
1244
-
1245
- return true;
1246
- }
1247
-
1248
- static bool
1249
- _equalRangeTableFunc(const RangeTableFunc *a, const RangeTableFunc *b)
1250
- {
1251
- COMPARE_SCALAR_FIELD(lateral);
1252
- COMPARE_NODE_FIELD(docexpr);
1253
- COMPARE_NODE_FIELD(rowexpr);
1254
- COMPARE_NODE_FIELD(namespaces);
1255
- COMPARE_NODE_FIELD(columns);
1256
- COMPARE_NODE_FIELD(alias);
1257
- COMPARE_LOCATION_FIELD(location);
1258
-
1259
- return true;
1260
- }
1261
-
1262
- static bool
1263
- _equalRangeTableFuncCol(const RangeTableFuncCol *a, const RangeTableFuncCol *b)
1264
- {
1265
- COMPARE_STRING_FIELD(colname);
1266
- COMPARE_NODE_FIELD(typeName);
1267
- COMPARE_SCALAR_FIELD(for_ordinality);
1268
- COMPARE_SCALAR_FIELD(is_not_null);
1269
- COMPARE_NODE_FIELD(colexpr);
1270
- COMPARE_NODE_FIELD(coldefexpr);
1271
- COMPARE_LOCATION_FIELD(location);
1272
-
1273
- return true;
1274
- }
1275
-
1276
- static bool
1277
- _equalRangeTableSample(const RangeTableSample *a, const RangeTableSample *b)
1278
- {
1279
- COMPARE_NODE_FIELD(relation);
1280
- COMPARE_NODE_FIELD(method);
1281
- COMPARE_NODE_FIELD(args);
1282
- COMPARE_NODE_FIELD(repeatable);
1283
- COMPARE_LOCATION_FIELD(location);
1284
-
1285
- return true;
1286
- }
1287
-
1288
- static bool
1289
- _equalColumnDef(const ColumnDef *a, const ColumnDef *b)
1290
- {
1291
- COMPARE_STRING_FIELD(colname);
1292
- COMPARE_NODE_FIELD(typeName);
1293
- COMPARE_STRING_FIELD(compression);
1294
- COMPARE_SCALAR_FIELD(inhcount);
1295
- COMPARE_SCALAR_FIELD(is_local);
1296
- COMPARE_SCALAR_FIELD(is_not_null);
1297
- COMPARE_SCALAR_FIELD(is_from_type);
1298
- COMPARE_SCALAR_FIELD(storage);
1299
- COMPARE_STRING_FIELD(storage_name);
1300
- COMPARE_NODE_FIELD(raw_default);
1301
- COMPARE_NODE_FIELD(cooked_default);
1302
- COMPARE_SCALAR_FIELD(identity);
1303
- COMPARE_NODE_FIELD(identitySequence);
1304
- COMPARE_SCALAR_FIELD(generated);
1305
- COMPARE_NODE_FIELD(collClause);
1306
- COMPARE_SCALAR_FIELD(collOid);
1307
- COMPARE_NODE_FIELD(constraints);
1308
- COMPARE_NODE_FIELD(fdwoptions);
1309
- COMPARE_LOCATION_FIELD(location);
1310
-
1311
- return true;
1312
- }
1313
-
1314
- static bool
1315
- _equalTableLikeClause(const TableLikeClause *a, const TableLikeClause *b)
1316
- {
1317
- COMPARE_NODE_FIELD(relation);
1318
- COMPARE_SCALAR_FIELD(options);
1319
- COMPARE_SCALAR_FIELD(relationOid);
1320
-
1321
- return true;
1322
- }
1323
-
1324
- static bool
1325
- _equalIndexElem(const IndexElem *a, const IndexElem *b)
1326
- {
1327
- COMPARE_STRING_FIELD(name);
1328
- COMPARE_NODE_FIELD(expr);
1329
- COMPARE_STRING_FIELD(indexcolname);
1330
- COMPARE_NODE_FIELD(collation);
1331
- COMPARE_NODE_FIELD(opclass);
1332
- COMPARE_NODE_FIELD(opclassopts);
1333
- COMPARE_SCALAR_FIELD(ordering);
1334
- COMPARE_SCALAR_FIELD(nulls_ordering);
1335
-
1336
- return true;
1337
- }
1338
-
1339
- static bool
1340
- _equalDefElem(const DefElem *a, const DefElem *b)
1341
- {
1342
- COMPARE_STRING_FIELD(defnamespace);
1343
- COMPARE_STRING_FIELD(defname);
1344
- COMPARE_NODE_FIELD(arg);
1345
- COMPARE_SCALAR_FIELD(defaction);
1346
- COMPARE_LOCATION_FIELD(location);
1347
-
1348
- return true;
1349
- }
1350
-
1351
- static bool
1352
- _equalLockingClause(const LockingClause *a, const LockingClause *b)
1353
- {
1354
- COMPARE_NODE_FIELD(lockedRels);
1355
- COMPARE_SCALAR_FIELD(strength);
1356
- COMPARE_SCALAR_FIELD(waitPolicy);
1357
-
1358
- return true;
1359
- }
1360
-
1361
- static bool
1362
- _equalXmlSerialize(const XmlSerialize *a, const XmlSerialize *b)
1363
- {
1364
- COMPARE_SCALAR_FIELD(xmloption);
1365
- COMPARE_NODE_FIELD(expr);
1366
- COMPARE_NODE_FIELD(typeName);
1367
- COMPARE_SCALAR_FIELD(indent);
1368
- COMPARE_LOCATION_FIELD(location);
1369
-
1370
- return true;
1371
- }
1372
-
1373
- static bool
1374
- _equalPartitionElem(const PartitionElem *a, const PartitionElem *b)
1375
- {
1376
- COMPARE_STRING_FIELD(name);
1377
- COMPARE_NODE_FIELD(expr);
1378
- COMPARE_NODE_FIELD(collation);
1379
- COMPARE_NODE_FIELD(opclass);
1380
- COMPARE_LOCATION_FIELD(location);
1381
-
1382
- return true;
1383
- }
1384
-
1385
- static bool
1386
- _equalPartitionSpec(const PartitionSpec *a, const PartitionSpec *b)
1387
- {
1388
- COMPARE_SCALAR_FIELD(strategy);
1389
- COMPARE_NODE_FIELD(partParams);
1390
- COMPARE_LOCATION_FIELD(location);
1391
-
1392
- return true;
1393
- }
1394
-
1395
- static bool
1396
- _equalPartitionBoundSpec(const PartitionBoundSpec *a, const PartitionBoundSpec *b)
1397
- {
1398
- COMPARE_SCALAR_FIELD(strategy);
1399
- COMPARE_SCALAR_FIELD(is_default);
1400
- COMPARE_SCALAR_FIELD(modulus);
1401
- COMPARE_SCALAR_FIELD(remainder);
1402
- COMPARE_NODE_FIELD(listdatums);
1403
- COMPARE_NODE_FIELD(lowerdatums);
1404
- COMPARE_NODE_FIELD(upperdatums);
1405
- COMPARE_LOCATION_FIELD(location);
1406
-
1407
- return true;
1408
- }
1409
-
1410
- static bool
1411
- _equalPartitionRangeDatum(const PartitionRangeDatum *a, const PartitionRangeDatum *b)
1412
- {
1413
- COMPARE_SCALAR_FIELD(kind);
1414
- COMPARE_NODE_FIELD(value);
1415
- COMPARE_LOCATION_FIELD(location);
1416
-
1417
- return true;
1418
- }
1419
-
1420
- static bool
1421
- _equalPartitionCmd(const PartitionCmd *a, const PartitionCmd *b)
1422
- {
1423
- COMPARE_NODE_FIELD(name);
1424
- COMPARE_NODE_FIELD(bound);
1425
- COMPARE_SCALAR_FIELD(concurrent);
1426
-
1427
- return true;
1428
- }
1429
-
1430
- static bool
1431
- _equalRangeTblEntry(const RangeTblEntry *a, const RangeTblEntry *b)
1432
- {
1433
- COMPARE_SCALAR_FIELD(rtekind);
1434
- COMPARE_SCALAR_FIELD(relid);
1435
- COMPARE_SCALAR_FIELD(relkind);
1436
- COMPARE_SCALAR_FIELD(rellockmode);
1437
- COMPARE_NODE_FIELD(tablesample);
1438
- COMPARE_SCALAR_FIELD(perminfoindex);
1439
- COMPARE_NODE_FIELD(subquery);
1440
- COMPARE_SCALAR_FIELD(security_barrier);
1441
- COMPARE_SCALAR_FIELD(jointype);
1442
- COMPARE_SCALAR_FIELD(joinmergedcols);
1443
- COMPARE_NODE_FIELD(joinaliasvars);
1444
- COMPARE_NODE_FIELD(joinleftcols);
1445
- COMPARE_NODE_FIELD(joinrightcols);
1446
- COMPARE_NODE_FIELD(join_using_alias);
1447
- COMPARE_NODE_FIELD(functions);
1448
- COMPARE_SCALAR_FIELD(funcordinality);
1449
- COMPARE_NODE_FIELD(tablefunc);
1450
- COMPARE_NODE_FIELD(values_lists);
1451
- COMPARE_STRING_FIELD(ctename);
1452
- COMPARE_SCALAR_FIELD(ctelevelsup);
1453
- COMPARE_SCALAR_FIELD(self_reference);
1454
- COMPARE_NODE_FIELD(coltypes);
1455
- COMPARE_NODE_FIELD(coltypmods);
1456
- COMPARE_NODE_FIELD(colcollations);
1457
- COMPARE_STRING_FIELD(enrname);
1458
- COMPARE_SCALAR_FIELD(enrtuples);
1459
- COMPARE_NODE_FIELD(alias);
1460
- COMPARE_NODE_FIELD(eref);
1461
- COMPARE_SCALAR_FIELD(lateral);
1462
- COMPARE_SCALAR_FIELD(inh);
1463
- COMPARE_SCALAR_FIELD(inFromCl);
1464
- COMPARE_NODE_FIELD(securityQuals);
1465
-
1466
- return true;
1467
- }
1468
-
1469
- static bool
1470
- _equalRTEPermissionInfo(const RTEPermissionInfo *a, const RTEPermissionInfo *b)
1471
- {
1472
- COMPARE_SCALAR_FIELD(relid);
1473
- COMPARE_SCALAR_FIELD(inh);
1474
- COMPARE_SCALAR_FIELD(requiredPerms);
1475
- COMPARE_SCALAR_FIELD(checkAsUser);
1476
- COMPARE_BITMAPSET_FIELD(selectedCols);
1477
- COMPARE_BITMAPSET_FIELD(insertedCols);
1478
- COMPARE_BITMAPSET_FIELD(updatedCols);
1479
-
1480
- return true;
1481
- }
1482
-
1483
- static bool
1484
- _equalRangeTblFunction(const RangeTblFunction *a, const RangeTblFunction *b)
1485
- {
1486
- COMPARE_NODE_FIELD(funcexpr);
1487
- COMPARE_SCALAR_FIELD(funccolcount);
1488
- COMPARE_NODE_FIELD(funccolnames);
1489
- COMPARE_NODE_FIELD(funccoltypes);
1490
- COMPARE_NODE_FIELD(funccoltypmods);
1491
- COMPARE_NODE_FIELD(funccolcollations);
1492
- COMPARE_BITMAPSET_FIELD(funcparams);
1493
-
1494
- return true;
1495
- }
1496
-
1497
- static bool
1498
- _equalTableSampleClause(const TableSampleClause *a, const TableSampleClause *b)
1499
- {
1500
- COMPARE_SCALAR_FIELD(tsmhandler);
1501
- COMPARE_NODE_FIELD(args);
1502
- COMPARE_NODE_FIELD(repeatable);
1503
-
1504
- return true;
1505
- }
1506
-
1507
- static bool
1508
- _equalWithCheckOption(const WithCheckOption *a, const WithCheckOption *b)
1509
- {
1510
- COMPARE_SCALAR_FIELD(kind);
1511
- COMPARE_STRING_FIELD(relname);
1512
- COMPARE_STRING_FIELD(polname);
1513
- COMPARE_NODE_FIELD(qual);
1514
- COMPARE_SCALAR_FIELD(cascaded);
1515
-
1516
- return true;
1517
- }
1518
-
1519
- static bool
1520
- _equalSortGroupClause(const SortGroupClause *a, const SortGroupClause *b)
1521
- {
1522
- COMPARE_SCALAR_FIELD(tleSortGroupRef);
1523
- COMPARE_SCALAR_FIELD(eqop);
1524
- COMPARE_SCALAR_FIELD(sortop);
1525
- COMPARE_SCALAR_FIELD(nulls_first);
1526
- COMPARE_SCALAR_FIELD(hashable);
1527
-
1528
- return true;
1529
- }
1530
-
1531
- static bool
1532
- _equalGroupingSet(const GroupingSet *a, const GroupingSet *b)
1533
- {
1534
- COMPARE_SCALAR_FIELD(kind);
1535
- COMPARE_NODE_FIELD(content);
1536
- COMPARE_LOCATION_FIELD(location);
1537
-
1538
- return true;
1539
- }
1540
-
1541
- static bool
1542
- _equalWindowClause(const WindowClause *a, const WindowClause *b)
1543
- {
1544
- COMPARE_STRING_FIELD(name);
1545
- COMPARE_STRING_FIELD(refname);
1546
- COMPARE_NODE_FIELD(partitionClause);
1547
- COMPARE_NODE_FIELD(orderClause);
1548
- COMPARE_SCALAR_FIELD(frameOptions);
1549
- COMPARE_NODE_FIELD(startOffset);
1550
- COMPARE_NODE_FIELD(endOffset);
1551
- COMPARE_NODE_FIELD(runCondition);
1552
- COMPARE_SCALAR_FIELD(startInRangeFunc);
1553
- COMPARE_SCALAR_FIELD(endInRangeFunc);
1554
- COMPARE_SCALAR_FIELD(inRangeColl);
1555
- COMPARE_SCALAR_FIELD(inRangeAsc);
1556
- COMPARE_SCALAR_FIELD(inRangeNullsFirst);
1557
- COMPARE_SCALAR_FIELD(winref);
1558
- COMPARE_SCALAR_FIELD(copiedOrder);
1559
-
1560
- return true;
1561
- }
1562
-
1563
- static bool
1564
- _equalRowMarkClause(const RowMarkClause *a, const RowMarkClause *b)
1565
- {
1566
- COMPARE_SCALAR_FIELD(rti);
1567
- COMPARE_SCALAR_FIELD(strength);
1568
- COMPARE_SCALAR_FIELD(waitPolicy);
1569
- COMPARE_SCALAR_FIELD(pushedDown);
1570
-
1571
- return true;
1572
- }
1573
-
1574
- static bool
1575
- _equalWithClause(const WithClause *a, const WithClause *b)
1576
- {
1577
- COMPARE_NODE_FIELD(ctes);
1578
- COMPARE_SCALAR_FIELD(recursive);
1579
- COMPARE_LOCATION_FIELD(location);
1580
-
1581
- return true;
1582
- }
1583
-
1584
- static bool
1585
- _equalInferClause(const InferClause *a, const InferClause *b)
1586
- {
1587
- COMPARE_NODE_FIELD(indexElems);
1588
- COMPARE_NODE_FIELD(whereClause);
1589
- COMPARE_STRING_FIELD(conname);
1590
- COMPARE_LOCATION_FIELD(location);
1591
-
1592
- return true;
1593
- }
1594
-
1595
- static bool
1596
- _equalOnConflictClause(const OnConflictClause *a, const OnConflictClause *b)
1597
- {
1598
- COMPARE_SCALAR_FIELD(action);
1599
- COMPARE_NODE_FIELD(infer);
1600
- COMPARE_NODE_FIELD(targetList);
1601
- COMPARE_NODE_FIELD(whereClause);
1602
- COMPARE_LOCATION_FIELD(location);
1603
-
1604
- return true;
1605
- }
1606
-
1607
- static bool
1608
- _equalCTESearchClause(const CTESearchClause *a, const CTESearchClause *b)
1609
- {
1610
- COMPARE_NODE_FIELD(search_col_list);
1611
- COMPARE_SCALAR_FIELD(search_breadth_first);
1612
- COMPARE_STRING_FIELD(search_seq_column);
1613
- COMPARE_LOCATION_FIELD(location);
1614
-
1615
- return true;
1616
- }
1617
-
1618
- static bool
1619
- _equalCTECycleClause(const CTECycleClause *a, const CTECycleClause *b)
1620
- {
1621
- COMPARE_NODE_FIELD(cycle_col_list);
1622
- COMPARE_STRING_FIELD(cycle_mark_column);
1623
- COMPARE_NODE_FIELD(cycle_mark_value);
1624
- COMPARE_NODE_FIELD(cycle_mark_default);
1625
- COMPARE_STRING_FIELD(cycle_path_column);
1626
- COMPARE_LOCATION_FIELD(location);
1627
- COMPARE_SCALAR_FIELD(cycle_mark_type);
1628
- COMPARE_SCALAR_FIELD(cycle_mark_typmod);
1629
- COMPARE_SCALAR_FIELD(cycle_mark_collation);
1630
- COMPARE_SCALAR_FIELD(cycle_mark_neop);
1631
-
1632
- return true;
1633
- }
1634
-
1635
- static bool
1636
- _equalCommonTableExpr(const CommonTableExpr *a, const CommonTableExpr *b)
1637
- {
1638
- COMPARE_STRING_FIELD(ctename);
1639
- COMPARE_NODE_FIELD(aliascolnames);
1640
- COMPARE_SCALAR_FIELD(ctematerialized);
1641
- COMPARE_NODE_FIELD(ctequery);
1642
- COMPARE_NODE_FIELD(search_clause);
1643
- COMPARE_NODE_FIELD(cycle_clause);
1644
- COMPARE_LOCATION_FIELD(location);
1645
- COMPARE_SCALAR_FIELD(cterecursive);
1646
- COMPARE_SCALAR_FIELD(cterefcount);
1647
- COMPARE_NODE_FIELD(ctecolnames);
1648
- COMPARE_NODE_FIELD(ctecoltypes);
1649
- COMPARE_NODE_FIELD(ctecoltypmods);
1650
- COMPARE_NODE_FIELD(ctecolcollations);
1651
-
1652
- return true;
1653
- }
1654
-
1655
- static bool
1656
- _equalMergeWhenClause(const MergeWhenClause *a, const MergeWhenClause *b)
1657
- {
1658
- COMPARE_SCALAR_FIELD(matched);
1659
- COMPARE_SCALAR_FIELD(commandType);
1660
- COMPARE_SCALAR_FIELD(override);
1661
- COMPARE_NODE_FIELD(condition);
1662
- COMPARE_NODE_FIELD(targetList);
1663
- COMPARE_NODE_FIELD(values);
1664
-
1665
- return true;
1666
- }
1667
-
1668
- static bool
1669
- _equalMergeAction(const MergeAction *a, const MergeAction *b)
1670
- {
1671
- COMPARE_SCALAR_FIELD(matched);
1672
- COMPARE_SCALAR_FIELD(commandType);
1673
- COMPARE_SCALAR_FIELD(override);
1674
- COMPARE_NODE_FIELD(qual);
1675
- COMPARE_NODE_FIELD(targetList);
1676
- COMPARE_NODE_FIELD(updateColnos);
1677
-
1678
- return true;
1679
- }
1680
-
1681
- static bool
1682
- _equalTriggerTransition(const TriggerTransition *a, const TriggerTransition *b)
1683
- {
1684
- COMPARE_STRING_FIELD(name);
1685
- COMPARE_SCALAR_FIELD(isNew);
1686
- COMPARE_SCALAR_FIELD(isTable);
1687
-
1688
- return true;
1689
- }
1690
-
1691
- static bool
1692
- _equalJsonOutput(const JsonOutput *a, const JsonOutput *b)
1693
- {
1694
- COMPARE_NODE_FIELD(typeName);
1695
- COMPARE_NODE_FIELD(returning);
1696
-
1697
- return true;
1698
- }
1699
-
1700
- static bool
1701
- _equalJsonKeyValue(const JsonKeyValue *a, const JsonKeyValue *b)
1702
- {
1703
- COMPARE_NODE_FIELD(key);
1704
- COMPARE_NODE_FIELD(value);
1705
-
1706
- return true;
1707
- }
1708
-
1709
- static bool
1710
- _equalJsonObjectConstructor(const JsonObjectConstructor *a, const JsonObjectConstructor *b)
1711
- {
1712
- COMPARE_NODE_FIELD(exprs);
1713
- COMPARE_NODE_FIELD(output);
1714
- COMPARE_SCALAR_FIELD(absent_on_null);
1715
- COMPARE_SCALAR_FIELD(unique);
1716
- COMPARE_LOCATION_FIELD(location);
1717
-
1718
- return true;
1719
- }
1720
-
1721
- static bool
1722
- _equalJsonArrayConstructor(const JsonArrayConstructor *a, const JsonArrayConstructor *b)
1723
- {
1724
- COMPARE_NODE_FIELD(exprs);
1725
- COMPARE_NODE_FIELD(output);
1726
- COMPARE_SCALAR_FIELD(absent_on_null);
1727
- COMPARE_LOCATION_FIELD(location);
1728
-
1729
- return true;
1730
- }
1731
-
1732
- static bool
1733
- _equalJsonArrayQueryConstructor(const JsonArrayQueryConstructor *a, const JsonArrayQueryConstructor *b)
1734
- {
1735
- COMPARE_NODE_FIELD(query);
1736
- COMPARE_NODE_FIELD(output);
1737
- COMPARE_NODE_FIELD(format);
1738
- COMPARE_SCALAR_FIELD(absent_on_null);
1739
- COMPARE_LOCATION_FIELD(location);
1740
-
1741
- return true;
1742
- }
1743
-
1744
- static bool
1745
- _equalJsonAggConstructor(const JsonAggConstructor *a, const JsonAggConstructor *b)
1746
- {
1747
- COMPARE_NODE_FIELD(output);
1748
- COMPARE_NODE_FIELD(agg_filter);
1749
- COMPARE_NODE_FIELD(agg_order);
1750
- COMPARE_NODE_FIELD(over);
1751
- COMPARE_LOCATION_FIELD(location);
1752
-
1753
- return true;
1754
- }
1755
-
1756
- static bool
1757
- _equalJsonObjectAgg(const JsonObjectAgg *a, const JsonObjectAgg *b)
1758
- {
1759
- COMPARE_NODE_FIELD(constructor);
1760
- COMPARE_NODE_FIELD(arg);
1761
- COMPARE_SCALAR_FIELD(absent_on_null);
1762
- COMPARE_SCALAR_FIELD(unique);
1763
-
1764
- return true;
1765
- }
1766
-
1767
- static bool
1768
- _equalJsonArrayAgg(const JsonArrayAgg *a, const JsonArrayAgg *b)
1769
- {
1770
- COMPARE_NODE_FIELD(constructor);
1771
- COMPARE_NODE_FIELD(arg);
1772
- COMPARE_SCALAR_FIELD(absent_on_null);
1773
-
1774
- return true;
1775
- }
1776
-
1777
- static bool
1778
- _equalRawStmt(const RawStmt *a, const RawStmt *b)
1779
- {
1780
- COMPARE_NODE_FIELD(stmt);
1781
- COMPARE_LOCATION_FIELD(stmt_location);
1782
- COMPARE_SCALAR_FIELD(stmt_len);
1783
-
1784
- return true;
1785
- }
1786
-
1787
- static bool
1788
- _equalInsertStmt(const InsertStmt *a, const InsertStmt *b)
1789
- {
1790
- COMPARE_NODE_FIELD(relation);
1791
- COMPARE_NODE_FIELD(cols);
1792
- COMPARE_NODE_FIELD(selectStmt);
1793
- COMPARE_NODE_FIELD(onConflictClause);
1794
- COMPARE_NODE_FIELD(returningList);
1795
- COMPARE_NODE_FIELD(withClause);
1796
- COMPARE_SCALAR_FIELD(override);
1797
-
1798
- return true;
1799
- }
1800
-
1801
- static bool
1802
- _equalDeleteStmt(const DeleteStmt *a, const DeleteStmt *b)
1803
- {
1804
- COMPARE_NODE_FIELD(relation);
1805
- COMPARE_NODE_FIELD(usingClause);
1806
- COMPARE_NODE_FIELD(whereClause);
1807
- COMPARE_NODE_FIELD(returningList);
1808
- COMPARE_NODE_FIELD(withClause);
1809
-
1810
- return true;
1811
- }
1812
-
1813
- static bool
1814
- _equalUpdateStmt(const UpdateStmt *a, const UpdateStmt *b)
1815
- {
1816
- COMPARE_NODE_FIELD(relation);
1817
- COMPARE_NODE_FIELD(targetList);
1818
- COMPARE_NODE_FIELD(whereClause);
1819
- COMPARE_NODE_FIELD(fromClause);
1820
- COMPARE_NODE_FIELD(returningList);
1821
- COMPARE_NODE_FIELD(withClause);
1822
-
1823
- return true;
1824
- }
1825
-
1826
- static bool
1827
- _equalMergeStmt(const MergeStmt *a, const MergeStmt *b)
1828
- {
1829
- COMPARE_NODE_FIELD(relation);
1830
- COMPARE_NODE_FIELD(sourceRelation);
1831
- COMPARE_NODE_FIELD(joinCondition);
1832
- COMPARE_NODE_FIELD(mergeWhenClauses);
1833
- COMPARE_NODE_FIELD(withClause);
1834
-
1835
- return true;
1836
- }
1837
-
1838
- static bool
1839
- _equalSelectStmt(const SelectStmt *a, const SelectStmt *b)
1840
- {
1841
- COMPARE_NODE_FIELD(distinctClause);
1842
- COMPARE_NODE_FIELD(intoClause);
1843
- COMPARE_NODE_FIELD(targetList);
1844
- COMPARE_NODE_FIELD(fromClause);
1845
- COMPARE_NODE_FIELD(whereClause);
1846
- COMPARE_NODE_FIELD(groupClause);
1847
- COMPARE_SCALAR_FIELD(groupDistinct);
1848
- COMPARE_NODE_FIELD(havingClause);
1849
- COMPARE_NODE_FIELD(windowClause);
1850
- COMPARE_NODE_FIELD(valuesLists);
1851
- COMPARE_NODE_FIELD(sortClause);
1852
- COMPARE_NODE_FIELD(limitOffset);
1853
- COMPARE_NODE_FIELD(limitCount);
1854
- COMPARE_SCALAR_FIELD(limitOption);
1855
- COMPARE_NODE_FIELD(lockingClause);
1856
- COMPARE_NODE_FIELD(withClause);
1857
- COMPARE_SCALAR_FIELD(op);
1858
- COMPARE_SCALAR_FIELD(all);
1859
- COMPARE_NODE_FIELD(larg);
1860
- COMPARE_NODE_FIELD(rarg);
1861
-
1862
- return true;
1863
- }
1864
-
1865
- static bool
1866
- _equalSetOperationStmt(const SetOperationStmt *a, const SetOperationStmt *b)
1867
- {
1868
- COMPARE_SCALAR_FIELD(op);
1869
- COMPARE_SCALAR_FIELD(all);
1870
- COMPARE_NODE_FIELD(larg);
1871
- COMPARE_NODE_FIELD(rarg);
1872
- COMPARE_NODE_FIELD(colTypes);
1873
- COMPARE_NODE_FIELD(colTypmods);
1874
- COMPARE_NODE_FIELD(colCollations);
1875
- COMPARE_NODE_FIELD(groupClauses);
1876
-
1877
- return true;
1878
- }
1879
-
1880
- static bool
1881
- _equalReturnStmt(const ReturnStmt *a, const ReturnStmt *b)
1882
- {
1883
- COMPARE_NODE_FIELD(returnval);
1884
-
1885
- return true;
1886
- }
1887
-
1888
- static bool
1889
- _equalPLAssignStmt(const PLAssignStmt *a, const PLAssignStmt *b)
1890
- {
1891
- COMPARE_STRING_FIELD(name);
1892
- COMPARE_NODE_FIELD(indirection);
1893
- COMPARE_SCALAR_FIELD(nnames);
1894
- COMPARE_NODE_FIELD(val);
1895
- COMPARE_LOCATION_FIELD(location);
1896
-
1897
- return true;
1898
- }
1899
-
1900
- static bool
1901
- _equalCreateSchemaStmt(const CreateSchemaStmt *a, const CreateSchemaStmt *b)
1902
- {
1903
- COMPARE_STRING_FIELD(schemaname);
1904
- COMPARE_NODE_FIELD(authrole);
1905
- COMPARE_NODE_FIELD(schemaElts);
1906
- COMPARE_SCALAR_FIELD(if_not_exists);
1907
-
1908
- return true;
1909
- }
1910
-
1911
- static bool
1912
- _equalAlterTableStmt(const AlterTableStmt *a, const AlterTableStmt *b)
1913
- {
1914
- COMPARE_NODE_FIELD(relation);
1915
- COMPARE_NODE_FIELD(cmds);
1916
- COMPARE_SCALAR_FIELD(objtype);
1917
- COMPARE_SCALAR_FIELD(missing_ok);
1918
-
1919
- return true;
1920
- }
1921
-
1922
- static bool
1923
- _equalReplicaIdentityStmt(const ReplicaIdentityStmt *a, const ReplicaIdentityStmt *b)
1924
- {
1925
- COMPARE_SCALAR_FIELD(identity_type);
1926
- COMPARE_STRING_FIELD(name);
1927
-
1928
- return true;
1929
- }
1930
-
1931
- static bool
1932
- _equalAlterTableCmd(const AlterTableCmd *a, const AlterTableCmd *b)
1933
- {
1934
- COMPARE_SCALAR_FIELD(subtype);
1935
- COMPARE_STRING_FIELD(name);
1936
- COMPARE_SCALAR_FIELD(num);
1937
- COMPARE_NODE_FIELD(newowner);
1938
- COMPARE_NODE_FIELD(def);
1939
- COMPARE_SCALAR_FIELD(behavior);
1940
- COMPARE_SCALAR_FIELD(missing_ok);
1941
- COMPARE_SCALAR_FIELD(recurse);
1942
-
1943
- return true;
1944
- }
1945
-
1946
- static bool
1947
- _equalAlterCollationStmt(const AlterCollationStmt *a, const AlterCollationStmt *b)
1948
- {
1949
- COMPARE_NODE_FIELD(collname);
1950
-
1951
- return true;
1952
- }
1953
-
1954
- static bool
1955
- _equalAlterDomainStmt(const AlterDomainStmt *a, const AlterDomainStmt *b)
1956
- {
1957
- COMPARE_SCALAR_FIELD(subtype);
1958
- COMPARE_NODE_FIELD(typeName);
1959
- COMPARE_STRING_FIELD(name);
1960
- COMPARE_NODE_FIELD(def);
1961
- COMPARE_SCALAR_FIELD(behavior);
1962
- COMPARE_SCALAR_FIELD(missing_ok);
1963
-
1964
- return true;
1965
- }
1966
-
1967
- static bool
1968
- _equalGrantStmt(const GrantStmt *a, const GrantStmt *b)
1969
- {
1970
- COMPARE_SCALAR_FIELD(is_grant);
1971
- COMPARE_SCALAR_FIELD(targtype);
1972
- COMPARE_SCALAR_FIELD(objtype);
1973
- COMPARE_NODE_FIELD(objects);
1974
- COMPARE_NODE_FIELD(privileges);
1975
- COMPARE_NODE_FIELD(grantees);
1976
- COMPARE_SCALAR_FIELD(grant_option);
1977
- COMPARE_NODE_FIELD(grantor);
1978
- COMPARE_SCALAR_FIELD(behavior);
1979
-
1980
- return true;
1981
- }
1982
-
1983
- static bool
1984
- _equalObjectWithArgs(const ObjectWithArgs *a, const ObjectWithArgs *b)
1985
- {
1986
- COMPARE_NODE_FIELD(objname);
1987
- COMPARE_NODE_FIELD(objargs);
1988
- COMPARE_NODE_FIELD(objfuncargs);
1989
- COMPARE_SCALAR_FIELD(args_unspecified);
1990
-
1991
- return true;
1992
- }
1993
-
1994
- static bool
1995
- _equalAccessPriv(const AccessPriv *a, const AccessPriv *b)
1996
- {
1997
- COMPARE_STRING_FIELD(priv_name);
1998
- COMPARE_NODE_FIELD(cols);
1999
-
2000
- return true;
2001
- }
2002
-
2003
- static bool
2004
- _equalGrantRoleStmt(const GrantRoleStmt *a, const GrantRoleStmt *b)
2005
- {
2006
- COMPARE_NODE_FIELD(granted_roles);
2007
- COMPARE_NODE_FIELD(grantee_roles);
2008
- COMPARE_SCALAR_FIELD(is_grant);
2009
- COMPARE_NODE_FIELD(opt);
2010
- COMPARE_NODE_FIELD(grantor);
2011
- COMPARE_SCALAR_FIELD(behavior);
2012
-
2013
- return true;
2014
- }
2015
-
2016
- static bool
2017
- _equalAlterDefaultPrivilegesStmt(const AlterDefaultPrivilegesStmt *a, const AlterDefaultPrivilegesStmt *b)
2018
- {
2019
- COMPARE_NODE_FIELD(options);
2020
- COMPARE_NODE_FIELD(action);
2021
-
2022
- return true;
2023
- }
2024
-
2025
- static bool
2026
- _equalCopyStmt(const CopyStmt *a, const CopyStmt *b)
2027
- {
2028
- COMPARE_NODE_FIELD(relation);
2029
- COMPARE_NODE_FIELD(query);
2030
- COMPARE_NODE_FIELD(attlist);
2031
- COMPARE_SCALAR_FIELD(is_from);
2032
- COMPARE_SCALAR_FIELD(is_program);
2033
- COMPARE_STRING_FIELD(filename);
2034
- COMPARE_NODE_FIELD(options);
2035
- COMPARE_NODE_FIELD(whereClause);
2036
-
2037
- return true;
2038
- }
2039
-
2040
- static bool
2041
- _equalVariableSetStmt(const VariableSetStmt *a, const VariableSetStmt *b)
2042
- {
2043
- COMPARE_SCALAR_FIELD(kind);
2044
- COMPARE_STRING_FIELD(name);
2045
- COMPARE_NODE_FIELD(args);
2046
- COMPARE_SCALAR_FIELD(is_local);
2047
-
2048
- return true;
2049
- }
2050
-
2051
- static bool
2052
- _equalVariableShowStmt(const VariableShowStmt *a, const VariableShowStmt *b)
2053
- {
2054
- COMPARE_STRING_FIELD(name);
2055
-
2056
- return true;
2057
- }
2058
-
2059
- static bool
2060
- _equalCreateStmt(const CreateStmt *a, const CreateStmt *b)
2061
- {
2062
- COMPARE_NODE_FIELD(relation);
2063
- COMPARE_NODE_FIELD(tableElts);
2064
- COMPARE_NODE_FIELD(inhRelations);
2065
- COMPARE_NODE_FIELD(partbound);
2066
- COMPARE_NODE_FIELD(partspec);
2067
- COMPARE_NODE_FIELD(ofTypename);
2068
- COMPARE_NODE_FIELD(constraints);
2069
- COMPARE_NODE_FIELD(options);
2070
- COMPARE_SCALAR_FIELD(oncommit);
2071
- COMPARE_STRING_FIELD(tablespacename);
2072
- COMPARE_STRING_FIELD(accessMethod);
2073
- COMPARE_SCALAR_FIELD(if_not_exists);
2074
-
2075
- return true;
2076
- }
2077
-
2078
- static bool
2079
- _equalConstraint(const Constraint *a, const Constraint *b)
2080
- {
2081
- COMPARE_SCALAR_FIELD(contype);
2082
- COMPARE_STRING_FIELD(conname);
2083
- COMPARE_SCALAR_FIELD(deferrable);
2084
- COMPARE_SCALAR_FIELD(initdeferred);
2085
- COMPARE_LOCATION_FIELD(location);
2086
- COMPARE_SCALAR_FIELD(is_no_inherit);
2087
- COMPARE_NODE_FIELD(raw_expr);
2088
- COMPARE_STRING_FIELD(cooked_expr);
2089
- COMPARE_SCALAR_FIELD(generated_when);
2090
- COMPARE_SCALAR_FIELD(nulls_not_distinct);
2091
- COMPARE_NODE_FIELD(keys);
2092
- COMPARE_NODE_FIELD(including);
2093
- COMPARE_NODE_FIELD(exclusions);
2094
- COMPARE_NODE_FIELD(options);
2095
- COMPARE_STRING_FIELD(indexname);
2096
- COMPARE_STRING_FIELD(indexspace);
2097
- COMPARE_SCALAR_FIELD(reset_default_tblspc);
2098
- COMPARE_STRING_FIELD(access_method);
2099
- COMPARE_NODE_FIELD(where_clause);
2100
- COMPARE_NODE_FIELD(pktable);
2101
- COMPARE_NODE_FIELD(fk_attrs);
2102
- COMPARE_NODE_FIELD(pk_attrs);
2103
- COMPARE_SCALAR_FIELD(fk_matchtype);
2104
- COMPARE_SCALAR_FIELD(fk_upd_action);
2105
- COMPARE_SCALAR_FIELD(fk_del_action);
2106
- COMPARE_NODE_FIELD(fk_del_set_cols);
2107
- COMPARE_NODE_FIELD(old_conpfeqop);
2108
- COMPARE_SCALAR_FIELD(old_pktable_oid);
2109
- COMPARE_SCALAR_FIELD(skip_validation);
2110
- COMPARE_SCALAR_FIELD(initially_valid);
2111
-
2112
- return true;
2113
- }
2114
-
2115
- static bool
2116
- _equalCreateTableSpaceStmt(const CreateTableSpaceStmt *a, const CreateTableSpaceStmt *b)
2117
- {
2118
- COMPARE_STRING_FIELD(tablespacename);
2119
- COMPARE_NODE_FIELD(owner);
2120
- COMPARE_STRING_FIELD(location);
2121
- COMPARE_NODE_FIELD(options);
2122
-
2123
- return true;
2124
- }
2125
-
2126
- static bool
2127
- _equalDropTableSpaceStmt(const DropTableSpaceStmt *a, const DropTableSpaceStmt *b)
2128
- {
2129
- COMPARE_STRING_FIELD(tablespacename);
2130
- COMPARE_SCALAR_FIELD(missing_ok);
2131
-
2132
- return true;
2133
- }
2134
-
2135
- static bool
2136
- _equalAlterTableSpaceOptionsStmt(const AlterTableSpaceOptionsStmt *a, const AlterTableSpaceOptionsStmt *b)
2137
- {
2138
- COMPARE_STRING_FIELD(tablespacename);
2139
- COMPARE_NODE_FIELD(options);
2140
- COMPARE_SCALAR_FIELD(isReset);
2141
-
2142
- return true;
2143
- }
2144
-
2145
- static bool
2146
- _equalAlterTableMoveAllStmt(const AlterTableMoveAllStmt *a, const AlterTableMoveAllStmt *b)
2147
- {
2148
- COMPARE_STRING_FIELD(orig_tablespacename);
2149
- COMPARE_SCALAR_FIELD(objtype);
2150
- COMPARE_NODE_FIELD(roles);
2151
- COMPARE_STRING_FIELD(new_tablespacename);
2152
- COMPARE_SCALAR_FIELD(nowait);
2153
-
2154
- return true;
2155
- }
2156
-
2157
- static bool
2158
- _equalCreateExtensionStmt(const CreateExtensionStmt *a, const CreateExtensionStmt *b)
2159
- {
2160
- COMPARE_STRING_FIELD(extname);
2161
- COMPARE_SCALAR_FIELD(if_not_exists);
2162
- COMPARE_NODE_FIELD(options);
2163
-
2164
- return true;
2165
- }
2166
-
2167
- static bool
2168
- _equalAlterExtensionStmt(const AlterExtensionStmt *a, const AlterExtensionStmt *b)
2169
- {
2170
- COMPARE_STRING_FIELD(extname);
2171
- COMPARE_NODE_FIELD(options);
2172
-
2173
- return true;
2174
- }
2175
-
2176
- static bool
2177
- _equalAlterExtensionContentsStmt(const AlterExtensionContentsStmt *a, const AlterExtensionContentsStmt *b)
2178
- {
2179
- COMPARE_STRING_FIELD(extname);
2180
- COMPARE_SCALAR_FIELD(action);
2181
- COMPARE_SCALAR_FIELD(objtype);
2182
- COMPARE_NODE_FIELD(object);
2183
-
2184
- return true;
2185
- }
2186
-
2187
- static bool
2188
- _equalCreateFdwStmt(const CreateFdwStmt *a, const CreateFdwStmt *b)
2189
- {
2190
- COMPARE_STRING_FIELD(fdwname);
2191
- COMPARE_NODE_FIELD(func_options);
2192
- COMPARE_NODE_FIELD(options);
2193
-
2194
- return true;
2195
- }
2196
-
2197
- static bool
2198
- _equalAlterFdwStmt(const AlterFdwStmt *a, const AlterFdwStmt *b)
2199
- {
2200
- COMPARE_STRING_FIELD(fdwname);
2201
- COMPARE_NODE_FIELD(func_options);
2202
- COMPARE_NODE_FIELD(options);
2203
-
2204
- return true;
2205
- }
2206
-
2207
- static bool
2208
- _equalCreateForeignServerStmt(const CreateForeignServerStmt *a, const CreateForeignServerStmt *b)
2209
- {
2210
- COMPARE_STRING_FIELD(servername);
2211
- COMPARE_STRING_FIELD(servertype);
2212
- COMPARE_STRING_FIELD(version);
2213
- COMPARE_STRING_FIELD(fdwname);
2214
- COMPARE_SCALAR_FIELD(if_not_exists);
2215
- COMPARE_NODE_FIELD(options);
2216
-
2217
- return true;
2218
- }
2219
-
2220
- static bool
2221
- _equalAlterForeignServerStmt(const AlterForeignServerStmt *a, const AlterForeignServerStmt *b)
2222
- {
2223
- COMPARE_STRING_FIELD(servername);
2224
- COMPARE_STRING_FIELD(version);
2225
- COMPARE_NODE_FIELD(options);
2226
- COMPARE_SCALAR_FIELD(has_version);
2227
-
2228
- return true;
2229
- }
2230
-
2231
- static bool
2232
- _equalCreateForeignTableStmt(const CreateForeignTableStmt *a, const CreateForeignTableStmt *b)
2233
- {
2234
- COMPARE_NODE_FIELD(base.relation);
2235
- COMPARE_NODE_FIELD(base.tableElts);
2236
- COMPARE_NODE_FIELD(base.inhRelations);
2237
- COMPARE_NODE_FIELD(base.partbound);
2238
- COMPARE_NODE_FIELD(base.partspec);
2239
- COMPARE_NODE_FIELD(base.ofTypename);
2240
- COMPARE_NODE_FIELD(base.constraints);
2241
- COMPARE_NODE_FIELD(base.options);
2242
- COMPARE_SCALAR_FIELD(base.oncommit);
2243
- COMPARE_STRING_FIELD(base.tablespacename);
2244
- COMPARE_STRING_FIELD(base.accessMethod);
2245
- COMPARE_SCALAR_FIELD(base.if_not_exists);
2246
- COMPARE_STRING_FIELD(servername);
2247
- COMPARE_NODE_FIELD(options);
2248
-
2249
- return true;
2250
- }
2251
-
2252
- static bool
2253
- _equalCreateUserMappingStmt(const CreateUserMappingStmt *a, const CreateUserMappingStmt *b)
2254
- {
2255
- COMPARE_NODE_FIELD(user);
2256
- COMPARE_STRING_FIELD(servername);
2257
- COMPARE_SCALAR_FIELD(if_not_exists);
2258
- COMPARE_NODE_FIELD(options);
2259
-
2260
- return true;
2261
- }
2262
-
2263
- static bool
2264
- _equalAlterUserMappingStmt(const AlterUserMappingStmt *a, const AlterUserMappingStmt *b)
2265
- {
2266
- COMPARE_NODE_FIELD(user);
2267
- COMPARE_STRING_FIELD(servername);
2268
- COMPARE_NODE_FIELD(options);
2269
-
2270
- return true;
2271
- }
2272
-
2273
- static bool
2274
- _equalDropUserMappingStmt(const DropUserMappingStmt *a, const DropUserMappingStmt *b)
2275
- {
2276
- COMPARE_NODE_FIELD(user);
2277
- COMPARE_STRING_FIELD(servername);
2278
- COMPARE_SCALAR_FIELD(missing_ok);
2279
-
2280
- return true;
2281
- }
2282
-
2283
- static bool
2284
- _equalImportForeignSchemaStmt(const ImportForeignSchemaStmt *a, const ImportForeignSchemaStmt *b)
2285
- {
2286
- COMPARE_STRING_FIELD(server_name);
2287
- COMPARE_STRING_FIELD(remote_schema);
2288
- COMPARE_STRING_FIELD(local_schema);
2289
- COMPARE_SCALAR_FIELD(list_type);
2290
- COMPARE_NODE_FIELD(table_list);
2291
- COMPARE_NODE_FIELD(options);
2292
-
2293
- return true;
2294
- }
2295
-
2296
- static bool
2297
- _equalCreatePolicyStmt(const CreatePolicyStmt *a, const CreatePolicyStmt *b)
2298
- {
2299
- COMPARE_STRING_FIELD(policy_name);
2300
- COMPARE_NODE_FIELD(table);
2301
- COMPARE_STRING_FIELD(cmd_name);
2302
- COMPARE_SCALAR_FIELD(permissive);
2303
- COMPARE_NODE_FIELD(roles);
2304
- COMPARE_NODE_FIELD(qual);
2305
- COMPARE_NODE_FIELD(with_check);
2306
-
2307
- return true;
2308
- }
2309
-
2310
- static bool
2311
- _equalAlterPolicyStmt(const AlterPolicyStmt *a, const AlterPolicyStmt *b)
2312
- {
2313
- COMPARE_STRING_FIELD(policy_name);
2314
- COMPARE_NODE_FIELD(table);
2315
- COMPARE_NODE_FIELD(roles);
2316
- COMPARE_NODE_FIELD(qual);
2317
- COMPARE_NODE_FIELD(with_check);
2318
-
2319
- return true;
2320
- }
2321
-
2322
- static bool
2323
- _equalCreateAmStmt(const CreateAmStmt *a, const CreateAmStmt *b)
2324
- {
2325
- COMPARE_STRING_FIELD(amname);
2326
- COMPARE_NODE_FIELD(handler_name);
2327
- COMPARE_SCALAR_FIELD(amtype);
2328
-
2329
- return true;
2330
- }
2331
-
2332
- static bool
2333
- _equalCreateTrigStmt(const CreateTrigStmt *a, const CreateTrigStmt *b)
2334
- {
2335
- COMPARE_SCALAR_FIELD(replace);
2336
- COMPARE_SCALAR_FIELD(isconstraint);
2337
- COMPARE_STRING_FIELD(trigname);
2338
- COMPARE_NODE_FIELD(relation);
2339
- COMPARE_NODE_FIELD(funcname);
2340
- COMPARE_NODE_FIELD(args);
2341
- COMPARE_SCALAR_FIELD(row);
2342
- COMPARE_SCALAR_FIELD(timing);
2343
- COMPARE_SCALAR_FIELD(events);
2344
- COMPARE_NODE_FIELD(columns);
2345
- COMPARE_NODE_FIELD(whenClause);
2346
- COMPARE_NODE_FIELD(transitionRels);
2347
- COMPARE_SCALAR_FIELD(deferrable);
2348
- COMPARE_SCALAR_FIELD(initdeferred);
2349
- COMPARE_NODE_FIELD(constrrel);
2350
-
2351
- return true;
2352
- }
2353
-
2354
- static bool
2355
- _equalCreateEventTrigStmt(const CreateEventTrigStmt *a, const CreateEventTrigStmt *b)
2356
- {
2357
- COMPARE_STRING_FIELD(trigname);
2358
- COMPARE_STRING_FIELD(eventname);
2359
- COMPARE_NODE_FIELD(whenclause);
2360
- COMPARE_NODE_FIELD(funcname);
2361
-
2362
- return true;
2363
- }
2364
-
2365
- static bool
2366
- _equalAlterEventTrigStmt(const AlterEventTrigStmt *a, const AlterEventTrigStmt *b)
2367
- {
2368
- COMPARE_STRING_FIELD(trigname);
2369
- COMPARE_SCALAR_FIELD(tgenabled);
2370
-
2371
- return true;
2372
- }
2373
-
2374
- static bool
2375
- _equalCreatePLangStmt(const CreatePLangStmt *a, const CreatePLangStmt *b)
2376
- {
2377
- COMPARE_SCALAR_FIELD(replace);
2378
- COMPARE_STRING_FIELD(plname);
2379
- COMPARE_NODE_FIELD(plhandler);
2380
- COMPARE_NODE_FIELD(plinline);
2381
- COMPARE_NODE_FIELD(plvalidator);
2382
- COMPARE_SCALAR_FIELD(pltrusted);
2383
-
2384
- return true;
2385
- }
2386
-
2387
- static bool
2388
- _equalCreateRoleStmt(const CreateRoleStmt *a, const CreateRoleStmt *b)
2389
- {
2390
- COMPARE_SCALAR_FIELD(stmt_type);
2391
- COMPARE_STRING_FIELD(role);
2392
- COMPARE_NODE_FIELD(options);
2393
-
2394
- return true;
2395
- }
2396
-
2397
- static bool
2398
- _equalAlterRoleStmt(const AlterRoleStmt *a, const AlterRoleStmt *b)
2399
- {
2400
- COMPARE_NODE_FIELD(role);
2401
- COMPARE_NODE_FIELD(options);
2402
- COMPARE_SCALAR_FIELD(action);
2403
-
2404
- return true;
2405
- }
2406
-
2407
- static bool
2408
- _equalAlterRoleSetStmt(const AlterRoleSetStmt *a, const AlterRoleSetStmt *b)
2409
- {
2410
- COMPARE_NODE_FIELD(role);
2411
- COMPARE_STRING_FIELD(database);
2412
- COMPARE_NODE_FIELD(setstmt);
2413
-
2414
- return true;
2415
- }
2416
-
2417
- static bool
2418
- _equalDropRoleStmt(const DropRoleStmt *a, const DropRoleStmt *b)
2419
- {
2420
- COMPARE_NODE_FIELD(roles);
2421
- COMPARE_SCALAR_FIELD(missing_ok);
2422
-
2423
- return true;
2424
- }
2425
-
2426
- static bool
2427
- _equalCreateSeqStmt(const CreateSeqStmt *a, const CreateSeqStmt *b)
2428
- {
2429
- COMPARE_NODE_FIELD(sequence);
2430
- COMPARE_NODE_FIELD(options);
2431
- COMPARE_SCALAR_FIELD(ownerId);
2432
- COMPARE_SCALAR_FIELD(for_identity);
2433
- COMPARE_SCALAR_FIELD(if_not_exists);
2434
-
2435
- return true;
2436
- }
2437
-
2438
- static bool
2439
- _equalAlterSeqStmt(const AlterSeqStmt *a, const AlterSeqStmt *b)
2440
- {
2441
- COMPARE_NODE_FIELD(sequence);
2442
- COMPARE_NODE_FIELD(options);
2443
- COMPARE_SCALAR_FIELD(for_identity);
2444
- COMPARE_SCALAR_FIELD(missing_ok);
2445
-
2446
- return true;
2447
- }
2448
-
2449
- static bool
2450
- _equalDefineStmt(const DefineStmt *a, const DefineStmt *b)
2451
- {
2452
- COMPARE_SCALAR_FIELD(kind);
2453
- COMPARE_SCALAR_FIELD(oldstyle);
2454
- COMPARE_NODE_FIELD(defnames);
2455
- COMPARE_NODE_FIELD(args);
2456
- COMPARE_NODE_FIELD(definition);
2457
- COMPARE_SCALAR_FIELD(if_not_exists);
2458
- COMPARE_SCALAR_FIELD(replace);
2459
-
2460
- return true;
2461
- }
2462
-
2463
- static bool
2464
- _equalCreateDomainStmt(const CreateDomainStmt *a, const CreateDomainStmt *b)
2465
- {
2466
- COMPARE_NODE_FIELD(domainname);
2467
- COMPARE_NODE_FIELD(typeName);
2468
- COMPARE_NODE_FIELD(collClause);
2469
- COMPARE_NODE_FIELD(constraints);
2470
-
2471
- return true;
2472
- }
2473
-
2474
- static bool
2475
- _equalCreateOpClassStmt(const CreateOpClassStmt *a, const CreateOpClassStmt *b)
2476
- {
2477
- COMPARE_NODE_FIELD(opclassname);
2478
- COMPARE_NODE_FIELD(opfamilyname);
2479
- COMPARE_STRING_FIELD(amname);
2480
- COMPARE_NODE_FIELD(datatype);
2481
- COMPARE_NODE_FIELD(items);
2482
- COMPARE_SCALAR_FIELD(isDefault);
2483
-
2484
- return true;
2485
- }
2486
-
2487
- static bool
2488
- _equalCreateOpClassItem(const CreateOpClassItem *a, const CreateOpClassItem *b)
2489
- {
2490
- COMPARE_SCALAR_FIELD(itemtype);
2491
- COMPARE_NODE_FIELD(name);
2492
- COMPARE_SCALAR_FIELD(number);
2493
- COMPARE_NODE_FIELD(order_family);
2494
- COMPARE_NODE_FIELD(class_args);
2495
- COMPARE_NODE_FIELD(storedtype);
2496
-
2497
- return true;
2498
- }
2499
-
2500
- static bool
2501
- _equalCreateOpFamilyStmt(const CreateOpFamilyStmt *a, const CreateOpFamilyStmt *b)
2502
- {
2503
- COMPARE_NODE_FIELD(opfamilyname);
2504
- COMPARE_STRING_FIELD(amname);
2505
-
2506
- return true;
2507
- }
2508
-
2509
- static bool
2510
- _equalAlterOpFamilyStmt(const AlterOpFamilyStmt *a, const AlterOpFamilyStmt *b)
2511
- {
2512
- COMPARE_NODE_FIELD(opfamilyname);
2513
- COMPARE_STRING_FIELD(amname);
2514
- COMPARE_SCALAR_FIELD(isDrop);
2515
- COMPARE_NODE_FIELD(items);
2516
-
2517
- return true;
2518
- }
2519
-
2520
- static bool
2521
- _equalDropStmt(const DropStmt *a, const DropStmt *b)
2522
- {
2523
- COMPARE_NODE_FIELD(objects);
2524
- COMPARE_SCALAR_FIELD(removeType);
2525
- COMPARE_SCALAR_FIELD(behavior);
2526
- COMPARE_SCALAR_FIELD(missing_ok);
2527
- COMPARE_SCALAR_FIELD(concurrent);
2528
-
2529
- return true;
2530
- }
2531
-
2532
- static bool
2533
- _equalTruncateStmt(const TruncateStmt *a, const TruncateStmt *b)
2534
- {
2535
- COMPARE_NODE_FIELD(relations);
2536
- COMPARE_SCALAR_FIELD(restart_seqs);
2537
- COMPARE_SCALAR_FIELD(behavior);
2538
-
2539
- return true;
2540
- }
2541
-
2542
- static bool
2543
- _equalCommentStmt(const CommentStmt *a, const CommentStmt *b)
2544
- {
2545
- COMPARE_SCALAR_FIELD(objtype);
2546
- COMPARE_NODE_FIELD(object);
2547
- COMPARE_STRING_FIELD(comment);
2548
-
2549
- return true;
2550
- }
2551
-
2552
- static bool
2553
- _equalSecLabelStmt(const SecLabelStmt *a, const SecLabelStmt *b)
2554
- {
2555
- COMPARE_SCALAR_FIELD(objtype);
2556
- COMPARE_NODE_FIELD(object);
2557
- COMPARE_STRING_FIELD(provider);
2558
- COMPARE_STRING_FIELD(label);
2559
-
2560
- return true;
2561
- }
2562
-
2563
- static bool
2564
- _equalDeclareCursorStmt(const DeclareCursorStmt *a, const DeclareCursorStmt *b)
2565
- {
2566
- COMPARE_STRING_FIELD(portalname);
2567
- COMPARE_SCALAR_FIELD(options);
2568
- COMPARE_NODE_FIELD(query);
2569
-
2570
- return true;
2571
- }
2572
-
2573
- static bool
2574
- _equalClosePortalStmt(const ClosePortalStmt *a, const ClosePortalStmt *b)
2575
- {
2576
- COMPARE_STRING_FIELD(portalname);
2577
-
2578
- return true;
2579
- }
2580
-
2581
- static bool
2582
- _equalFetchStmt(const FetchStmt *a, const FetchStmt *b)
2583
- {
2584
- COMPARE_SCALAR_FIELD(direction);
2585
- COMPARE_SCALAR_FIELD(howMany);
2586
- COMPARE_STRING_FIELD(portalname);
2587
- COMPARE_SCALAR_FIELD(ismove);
2588
-
2589
- return true;
2590
- }
2591
-
2592
- static bool
2593
- _equalIndexStmt(const IndexStmt *a, const IndexStmt *b)
2594
- {
2595
- COMPARE_STRING_FIELD(idxname);
2596
- COMPARE_NODE_FIELD(relation);
2597
- COMPARE_STRING_FIELD(accessMethod);
2598
- COMPARE_STRING_FIELD(tableSpace);
2599
- COMPARE_NODE_FIELD(indexParams);
2600
- COMPARE_NODE_FIELD(indexIncludingParams);
2601
- COMPARE_NODE_FIELD(options);
2602
- COMPARE_NODE_FIELD(whereClause);
2603
- COMPARE_NODE_FIELD(excludeOpNames);
2604
- COMPARE_STRING_FIELD(idxcomment);
2605
- COMPARE_SCALAR_FIELD(indexOid);
2606
- COMPARE_SCALAR_FIELD(oldNumber);
2607
- COMPARE_SCALAR_FIELD(oldCreateSubid);
2608
- COMPARE_SCALAR_FIELD(oldFirstRelfilelocatorSubid);
2609
- COMPARE_SCALAR_FIELD(unique);
2610
- COMPARE_SCALAR_FIELD(nulls_not_distinct);
2611
- COMPARE_SCALAR_FIELD(primary);
2612
- COMPARE_SCALAR_FIELD(isconstraint);
2613
- COMPARE_SCALAR_FIELD(deferrable);
2614
- COMPARE_SCALAR_FIELD(initdeferred);
2615
- COMPARE_SCALAR_FIELD(transformed);
2616
- COMPARE_SCALAR_FIELD(concurrent);
2617
- COMPARE_SCALAR_FIELD(if_not_exists);
2618
- COMPARE_SCALAR_FIELD(reset_default_tblspc);
2619
-
2620
- return true;
2621
- }
2622
-
2623
- static bool
2624
- _equalCreateStatsStmt(const CreateStatsStmt *a, const CreateStatsStmt *b)
2625
- {
2626
- COMPARE_NODE_FIELD(defnames);
2627
- COMPARE_NODE_FIELD(stat_types);
2628
- COMPARE_NODE_FIELD(exprs);
2629
- COMPARE_NODE_FIELD(relations);
2630
- COMPARE_STRING_FIELD(stxcomment);
2631
- COMPARE_SCALAR_FIELD(transformed);
2632
- COMPARE_SCALAR_FIELD(if_not_exists);
2633
-
2634
- return true;
2635
- }
2636
-
2637
- static bool
2638
- _equalStatsElem(const StatsElem *a, const StatsElem *b)
2639
- {
2640
- COMPARE_STRING_FIELD(name);
2641
- COMPARE_NODE_FIELD(expr);
2642
-
2643
- return true;
2644
- }
2645
-
2646
- static bool
2647
- _equalAlterStatsStmt(const AlterStatsStmt *a, const AlterStatsStmt *b)
2648
- {
2649
- COMPARE_NODE_FIELD(defnames);
2650
- COMPARE_SCALAR_FIELD(stxstattarget);
2651
- COMPARE_SCALAR_FIELD(missing_ok);
2652
-
2653
- return true;
2654
- }
2655
-
2656
- static bool
2657
- _equalCreateFunctionStmt(const CreateFunctionStmt *a, const CreateFunctionStmt *b)
2658
- {
2659
- COMPARE_SCALAR_FIELD(is_procedure);
2660
- COMPARE_SCALAR_FIELD(replace);
2661
- COMPARE_NODE_FIELD(funcname);
2662
- COMPARE_NODE_FIELD(parameters);
2663
- COMPARE_NODE_FIELD(returnType);
2664
- COMPARE_NODE_FIELD(options);
2665
- COMPARE_NODE_FIELD(sql_body);
2666
-
2667
- return true;
2668
- }
2669
-
2670
- static bool
2671
- _equalFunctionParameter(const FunctionParameter *a, const FunctionParameter *b)
2672
- {
2673
- COMPARE_STRING_FIELD(name);
2674
- COMPARE_NODE_FIELD(argType);
2675
- COMPARE_SCALAR_FIELD(mode);
2676
- COMPARE_NODE_FIELD(defexpr);
2677
-
2678
- return true;
2679
- }
2680
-
2681
- static bool
2682
- _equalAlterFunctionStmt(const AlterFunctionStmt *a, const AlterFunctionStmt *b)
2683
- {
2684
- COMPARE_SCALAR_FIELD(objtype);
2685
- COMPARE_NODE_FIELD(func);
2686
- COMPARE_NODE_FIELD(actions);
2687
-
2688
- return true;
2689
- }
2690
-
2691
- static bool
2692
- _equalDoStmt(const DoStmt *a, const DoStmt *b)
2693
- {
2694
- COMPARE_NODE_FIELD(args);
2695
-
2696
- return true;
2697
- }
2698
-
2699
- static bool
2700
- _equalCallStmt(const CallStmt *a, const CallStmt *b)
2701
- {
2702
- COMPARE_NODE_FIELD(funccall);
2703
- COMPARE_NODE_FIELD(funcexpr);
2704
- COMPARE_NODE_FIELD(outargs);
2705
-
2706
- return true;
2707
- }
2708
-
2709
- static bool
2710
- _equalRenameStmt(const RenameStmt *a, const RenameStmt *b)
2711
- {
2712
- COMPARE_SCALAR_FIELD(renameType);
2713
- COMPARE_SCALAR_FIELD(relationType);
2714
- COMPARE_NODE_FIELD(relation);
2715
- COMPARE_NODE_FIELD(object);
2716
- COMPARE_STRING_FIELD(subname);
2717
- COMPARE_STRING_FIELD(newname);
2718
- COMPARE_SCALAR_FIELD(behavior);
2719
- COMPARE_SCALAR_FIELD(missing_ok);
2720
-
2721
- return true;
2722
- }
2723
-
2724
- static bool
2725
- _equalAlterObjectDependsStmt(const AlterObjectDependsStmt *a, const AlterObjectDependsStmt *b)
2726
- {
2727
- COMPARE_SCALAR_FIELD(objectType);
2728
- COMPARE_NODE_FIELD(relation);
2729
- COMPARE_NODE_FIELD(object);
2730
- COMPARE_NODE_FIELD(extname);
2731
- COMPARE_SCALAR_FIELD(remove);
2732
-
2733
- return true;
2734
- }
2735
-
2736
- static bool
2737
- _equalAlterObjectSchemaStmt(const AlterObjectSchemaStmt *a, const AlterObjectSchemaStmt *b)
2738
- {
2739
- COMPARE_SCALAR_FIELD(objectType);
2740
- COMPARE_NODE_FIELD(relation);
2741
- COMPARE_NODE_FIELD(object);
2742
- COMPARE_STRING_FIELD(newschema);
2743
- COMPARE_SCALAR_FIELD(missing_ok);
2744
-
2745
- return true;
2746
- }
2747
-
2748
- static bool
2749
- _equalAlterOwnerStmt(const AlterOwnerStmt *a, const AlterOwnerStmt *b)
2750
- {
2751
- COMPARE_SCALAR_FIELD(objectType);
2752
- COMPARE_NODE_FIELD(relation);
2753
- COMPARE_NODE_FIELD(object);
2754
- COMPARE_NODE_FIELD(newowner);
2755
-
2756
- return true;
2757
- }
2758
-
2759
- static bool
2760
- _equalAlterOperatorStmt(const AlterOperatorStmt *a, const AlterOperatorStmt *b)
2761
- {
2762
- COMPARE_NODE_FIELD(opername);
2763
- COMPARE_NODE_FIELD(options);
2764
-
2765
- return true;
2766
- }
2767
-
2768
- static bool
2769
- _equalAlterTypeStmt(const AlterTypeStmt *a, const AlterTypeStmt *b)
2770
- {
2771
- COMPARE_NODE_FIELD(typeName);
2772
- COMPARE_NODE_FIELD(options);
2773
-
2774
- return true;
2775
- }
2776
-
2777
- static bool
2778
- _equalRuleStmt(const RuleStmt *a, const RuleStmt *b)
2779
- {
2780
- COMPARE_NODE_FIELD(relation);
2781
- COMPARE_STRING_FIELD(rulename);
2782
- COMPARE_NODE_FIELD(whereClause);
2783
- COMPARE_SCALAR_FIELD(event);
2784
- COMPARE_SCALAR_FIELD(instead);
2785
- COMPARE_NODE_FIELD(actions);
2786
- COMPARE_SCALAR_FIELD(replace);
2787
-
2788
- return true;
2789
- }
2790
-
2791
- static bool
2792
- _equalNotifyStmt(const NotifyStmt *a, const NotifyStmt *b)
2793
- {
2794
- COMPARE_STRING_FIELD(conditionname);
2795
- COMPARE_STRING_FIELD(payload);
2796
-
2797
- return true;
2798
- }
2799
-
2800
- static bool
2801
- _equalListenStmt(const ListenStmt *a, const ListenStmt *b)
2802
- {
2803
- COMPARE_STRING_FIELD(conditionname);
2804
-
2805
- return true;
2806
- }
2807
-
2808
- static bool
2809
- _equalUnlistenStmt(const UnlistenStmt *a, const UnlistenStmt *b)
2810
- {
2811
- COMPARE_STRING_FIELD(conditionname);
2812
-
2813
- return true;
2814
- }
2815
-
2816
- static bool
2817
- _equalTransactionStmt(const TransactionStmt *a, const TransactionStmt *b)
2818
- {
2819
- COMPARE_SCALAR_FIELD(kind);
2820
- COMPARE_NODE_FIELD(options);
2821
- COMPARE_STRING_FIELD(savepoint_name);
2822
- COMPARE_STRING_FIELD(gid);
2823
- COMPARE_SCALAR_FIELD(chain);
2824
-
2825
- return true;
2826
- }
2827
-
2828
- static bool
2829
- _equalCompositeTypeStmt(const CompositeTypeStmt *a, const CompositeTypeStmt *b)
2830
- {
2831
- COMPARE_NODE_FIELD(typevar);
2832
- COMPARE_NODE_FIELD(coldeflist);
2833
-
2834
- return true;
2835
- }
2836
-
2837
- static bool
2838
- _equalCreateEnumStmt(const CreateEnumStmt *a, const CreateEnumStmt *b)
2839
- {
2840
- COMPARE_NODE_FIELD(typeName);
2841
- COMPARE_NODE_FIELD(vals);
2842
-
2843
- return true;
2844
- }
2845
-
2846
- static bool
2847
- _equalCreateRangeStmt(const CreateRangeStmt *a, const CreateRangeStmt *b)
2848
- {
2849
- COMPARE_NODE_FIELD(typeName);
2850
- COMPARE_NODE_FIELD(params);
2851
-
2852
- return true;
2853
- }
2854
-
2855
- static bool
2856
- _equalAlterEnumStmt(const AlterEnumStmt *a, const AlterEnumStmt *b)
2857
- {
2858
- COMPARE_NODE_FIELD(typeName);
2859
- COMPARE_STRING_FIELD(oldVal);
2860
- COMPARE_STRING_FIELD(newVal);
2861
- COMPARE_STRING_FIELD(newValNeighbor);
2862
- COMPARE_SCALAR_FIELD(newValIsAfter);
2863
- COMPARE_SCALAR_FIELD(skipIfNewValExists);
2864
-
2865
- return true;
2866
- }
2867
-
2868
- static bool
2869
- _equalViewStmt(const ViewStmt *a, const ViewStmt *b)
2870
- {
2871
- COMPARE_NODE_FIELD(view);
2872
- COMPARE_NODE_FIELD(aliases);
2873
- COMPARE_NODE_FIELD(query);
2874
- COMPARE_SCALAR_FIELD(replace);
2875
- COMPARE_NODE_FIELD(options);
2876
- COMPARE_SCALAR_FIELD(withCheckOption);
2877
-
2878
- return true;
2879
- }
2880
-
2881
- static bool
2882
- _equalLoadStmt(const LoadStmt *a, const LoadStmt *b)
2883
- {
2884
- COMPARE_STRING_FIELD(filename);
2885
-
2886
- return true;
2887
- }
2888
-
2889
- static bool
2890
- _equalCreatedbStmt(const CreatedbStmt *a, const CreatedbStmt *b)
2891
- {
2892
- COMPARE_STRING_FIELD(dbname);
2893
- COMPARE_NODE_FIELD(options);
2894
-
2895
- return true;
2896
- }
2897
-
2898
- static bool
2899
- _equalAlterDatabaseStmt(const AlterDatabaseStmt *a, const AlterDatabaseStmt *b)
2900
- {
2901
- COMPARE_STRING_FIELD(dbname);
2902
- COMPARE_NODE_FIELD(options);
2903
-
2904
- return true;
2905
- }
2906
-
2907
- static bool
2908
- _equalAlterDatabaseRefreshCollStmt(const AlterDatabaseRefreshCollStmt *a, const AlterDatabaseRefreshCollStmt *b)
2909
- {
2910
- COMPARE_STRING_FIELD(dbname);
2911
-
2912
- return true;
2913
- }
2914
-
2915
- static bool
2916
- _equalAlterDatabaseSetStmt(const AlterDatabaseSetStmt *a, const AlterDatabaseSetStmt *b)
2917
- {
2918
- COMPARE_STRING_FIELD(dbname);
2919
- COMPARE_NODE_FIELD(setstmt);
2920
-
2921
- return true;
2922
- }
2923
-
2924
- static bool
2925
- _equalDropdbStmt(const DropdbStmt *a, const DropdbStmt *b)
2926
- {
2927
- COMPARE_STRING_FIELD(dbname);
2928
- COMPARE_SCALAR_FIELD(missing_ok);
2929
- COMPARE_NODE_FIELD(options);
2930
-
2931
- return true;
2932
- }
2933
-
2934
- static bool
2935
- _equalAlterSystemStmt(const AlterSystemStmt *a, const AlterSystemStmt *b)
2936
- {
2937
- COMPARE_NODE_FIELD(setstmt);
2938
-
2939
- return true;
2940
- }
2941
-
2942
- static bool
2943
- _equalClusterStmt(const ClusterStmt *a, const ClusterStmt *b)
2944
- {
2945
- COMPARE_NODE_FIELD(relation);
2946
- COMPARE_STRING_FIELD(indexname);
2947
- COMPARE_NODE_FIELD(params);
2948
-
2949
- return true;
2950
- }
2951
-
2952
- static bool
2953
- _equalVacuumStmt(const VacuumStmt *a, const VacuumStmt *b)
2954
- {
2955
- COMPARE_NODE_FIELD(options);
2956
- COMPARE_NODE_FIELD(rels);
2957
- COMPARE_SCALAR_FIELD(is_vacuumcmd);
2958
-
2959
- return true;
2960
- }
2961
-
2962
- static bool
2963
- _equalVacuumRelation(const VacuumRelation *a, const VacuumRelation *b)
2964
- {
2965
- COMPARE_NODE_FIELD(relation);
2966
- COMPARE_SCALAR_FIELD(oid);
2967
- COMPARE_NODE_FIELD(va_cols);
2968
-
2969
- return true;
2970
- }
2971
-
2972
- static bool
2973
- _equalExplainStmt(const ExplainStmt *a, const ExplainStmt *b)
2974
- {
2975
- COMPARE_NODE_FIELD(query);
2976
- COMPARE_NODE_FIELD(options);
2977
-
2978
- return true;
2979
- }
2980
-
2981
- static bool
2982
- _equalCreateTableAsStmt(const CreateTableAsStmt *a, const CreateTableAsStmt *b)
2983
- {
2984
- COMPARE_NODE_FIELD(query);
2985
- COMPARE_NODE_FIELD(into);
2986
- COMPARE_SCALAR_FIELD(objtype);
2987
- COMPARE_SCALAR_FIELD(is_select_into);
2988
- COMPARE_SCALAR_FIELD(if_not_exists);
2989
-
2990
- return true;
2991
- }
2992
-
2993
- static bool
2994
- _equalRefreshMatViewStmt(const RefreshMatViewStmt *a, const RefreshMatViewStmt *b)
2995
- {
2996
- COMPARE_SCALAR_FIELD(concurrent);
2997
- COMPARE_SCALAR_FIELD(skipData);
2998
- COMPARE_NODE_FIELD(relation);
2999
-
3000
- return true;
3001
- }
3002
-
3003
- static bool
3004
- _equalCheckPointStmt(const CheckPointStmt *a, const CheckPointStmt *b)
3005
- {
3006
-
3007
- return true;
3008
- }
3009
-
3010
- static bool
3011
- _equalDiscardStmt(const DiscardStmt *a, const DiscardStmt *b)
3012
- {
3013
- COMPARE_SCALAR_FIELD(target);
3014
-
3015
- return true;
3016
- }
3017
-
3018
- static bool
3019
- _equalLockStmt(const LockStmt *a, const LockStmt *b)
3020
- {
3021
- COMPARE_NODE_FIELD(relations);
3022
- COMPARE_SCALAR_FIELD(mode);
3023
- COMPARE_SCALAR_FIELD(nowait);
3024
-
3025
- return true;
3026
- }
3027
-
3028
- static bool
3029
- _equalConstraintsSetStmt(const ConstraintsSetStmt *a, const ConstraintsSetStmt *b)
3030
- {
3031
- COMPARE_NODE_FIELD(constraints);
3032
- COMPARE_SCALAR_FIELD(deferred);
3033
-
3034
- return true;
3035
- }
3036
-
3037
- static bool
3038
- _equalReindexStmt(const ReindexStmt *a, const ReindexStmt *b)
3039
- {
3040
- COMPARE_SCALAR_FIELD(kind);
3041
- COMPARE_NODE_FIELD(relation);
3042
- COMPARE_STRING_FIELD(name);
3043
- COMPARE_NODE_FIELD(params);
3044
-
3045
- return true;
3046
- }
3047
-
3048
- static bool
3049
- _equalCreateConversionStmt(const CreateConversionStmt *a, const CreateConversionStmt *b)
3050
- {
3051
- COMPARE_NODE_FIELD(conversion_name);
3052
- COMPARE_STRING_FIELD(for_encoding_name);
3053
- COMPARE_STRING_FIELD(to_encoding_name);
3054
- COMPARE_NODE_FIELD(func_name);
3055
- COMPARE_SCALAR_FIELD(def);
3056
-
3057
- return true;
3058
- }
3059
-
3060
- static bool
3061
- _equalCreateCastStmt(const CreateCastStmt *a, const CreateCastStmt *b)
3062
- {
3063
- COMPARE_NODE_FIELD(sourcetype);
3064
- COMPARE_NODE_FIELD(targettype);
3065
- COMPARE_NODE_FIELD(func);
3066
- COMPARE_SCALAR_FIELD(context);
3067
- COMPARE_SCALAR_FIELD(inout);
3068
-
3069
- return true;
3070
- }
3071
-
3072
- static bool
3073
- _equalCreateTransformStmt(const CreateTransformStmt *a, const CreateTransformStmt *b)
3074
- {
3075
- COMPARE_SCALAR_FIELD(replace);
3076
- COMPARE_NODE_FIELD(type_name);
3077
- COMPARE_STRING_FIELD(lang);
3078
- COMPARE_NODE_FIELD(fromsql);
3079
- COMPARE_NODE_FIELD(tosql);
3080
-
3081
- return true;
3082
- }
3083
-
3084
- static bool
3085
- _equalPrepareStmt(const PrepareStmt *a, const PrepareStmt *b)
3086
- {
3087
- COMPARE_STRING_FIELD(name);
3088
- COMPARE_NODE_FIELD(argtypes);
3089
- COMPARE_NODE_FIELD(query);
3090
-
3091
- return true;
3092
- }
3093
-
3094
- static bool
3095
- _equalExecuteStmt(const ExecuteStmt *a, const ExecuteStmt *b)
3096
- {
3097
- COMPARE_STRING_FIELD(name);
3098
- COMPARE_NODE_FIELD(params);
3099
-
3100
- return true;
3101
- }
3102
-
3103
- static bool
3104
- _equalDeallocateStmt(const DeallocateStmt *a, const DeallocateStmt *b)
3105
- {
3106
- COMPARE_STRING_FIELD(name);
3107
-
3108
- return true;
3109
- }
3110
-
3111
- static bool
3112
- _equalDropOwnedStmt(const DropOwnedStmt *a, const DropOwnedStmt *b)
3113
- {
3114
- COMPARE_NODE_FIELD(roles);
3115
- COMPARE_SCALAR_FIELD(behavior);
3116
-
3117
- return true;
3118
- }
3119
-
3120
- static bool
3121
- _equalReassignOwnedStmt(const ReassignOwnedStmt *a, const ReassignOwnedStmt *b)
3122
- {
3123
- COMPARE_NODE_FIELD(roles);
3124
- COMPARE_NODE_FIELD(newrole);
3125
-
3126
- return true;
3127
- }
3128
-
3129
- static bool
3130
- _equalAlterTSDictionaryStmt(const AlterTSDictionaryStmt *a, const AlterTSDictionaryStmt *b)
3131
- {
3132
- COMPARE_NODE_FIELD(dictname);
3133
- COMPARE_NODE_FIELD(options);
3134
-
3135
- return true;
3136
- }
3137
-
3138
- static bool
3139
- _equalAlterTSConfigurationStmt(const AlterTSConfigurationStmt *a, const AlterTSConfigurationStmt *b)
3140
- {
3141
- COMPARE_SCALAR_FIELD(kind);
3142
- COMPARE_NODE_FIELD(cfgname);
3143
- COMPARE_NODE_FIELD(tokentype);
3144
- COMPARE_NODE_FIELD(dicts);
3145
- COMPARE_SCALAR_FIELD(override);
3146
- COMPARE_SCALAR_FIELD(replace);
3147
- COMPARE_SCALAR_FIELD(missing_ok);
3148
-
3149
- return true;
3150
- }
3151
-
3152
- static bool
3153
- _equalPublicationTable(const PublicationTable *a, const PublicationTable *b)
3154
- {
3155
- COMPARE_NODE_FIELD(relation);
3156
- COMPARE_NODE_FIELD(whereClause);
3157
- COMPARE_NODE_FIELD(columns);
3158
-
3159
- return true;
3160
- }
3161
-
3162
- static bool
3163
- _equalPublicationObjSpec(const PublicationObjSpec *a, const PublicationObjSpec *b)
3164
- {
3165
- COMPARE_SCALAR_FIELD(pubobjtype);
3166
- COMPARE_STRING_FIELD(name);
3167
- COMPARE_NODE_FIELD(pubtable);
3168
- COMPARE_LOCATION_FIELD(location);
3169
-
3170
- return true;
3171
- }
3172
-
3173
- static bool
3174
- _equalCreatePublicationStmt(const CreatePublicationStmt *a, const CreatePublicationStmt *b)
3175
- {
3176
- COMPARE_STRING_FIELD(pubname);
3177
- COMPARE_NODE_FIELD(options);
3178
- COMPARE_NODE_FIELD(pubobjects);
3179
- COMPARE_SCALAR_FIELD(for_all_tables);
3180
-
3181
- return true;
3182
- }
3183
-
3184
- static bool
3185
- _equalAlterPublicationStmt(const AlterPublicationStmt *a, const AlterPublicationStmt *b)
3186
- {
3187
- COMPARE_STRING_FIELD(pubname);
3188
- COMPARE_NODE_FIELD(options);
3189
- COMPARE_NODE_FIELD(pubobjects);
3190
- COMPARE_SCALAR_FIELD(for_all_tables);
3191
- COMPARE_SCALAR_FIELD(action);
3192
-
3193
- return true;
3194
- }
3195
-
3196
- static bool
3197
- _equalCreateSubscriptionStmt(const CreateSubscriptionStmt *a, const CreateSubscriptionStmt *b)
3198
- {
3199
- COMPARE_STRING_FIELD(subname);
3200
- COMPARE_STRING_FIELD(conninfo);
3201
- COMPARE_NODE_FIELD(publication);
3202
- COMPARE_NODE_FIELD(options);
3203
-
3204
- return true;
3205
- }
3206
-
3207
- static bool
3208
- _equalAlterSubscriptionStmt(const AlterSubscriptionStmt *a, const AlterSubscriptionStmt *b)
3209
- {
3210
- COMPARE_SCALAR_FIELD(kind);
3211
- COMPARE_STRING_FIELD(subname);
3212
- COMPARE_STRING_FIELD(conninfo);
3213
- COMPARE_NODE_FIELD(publication);
3214
- COMPARE_NODE_FIELD(options);
3215
-
3216
- return true;
3217
- }
3218
-
3219
- static bool
3220
- _equalDropSubscriptionStmt(const DropSubscriptionStmt *a, const DropSubscriptionStmt *b)
3221
- {
3222
- COMPARE_STRING_FIELD(subname);
3223
- COMPARE_SCALAR_FIELD(missing_ok);
3224
- COMPARE_SCALAR_FIELD(behavior);
3225
-
3226
- return true;
3227
- }
3228
-
3229
- static bool
3230
- _equalPathKey(const PathKey *a, const PathKey *b)
3231
- {
3232
- COMPARE_SCALAR_FIELD(pk_eclass);
3233
- COMPARE_SCALAR_FIELD(pk_opfamily);
3234
- COMPARE_SCALAR_FIELD(pk_strategy);
3235
- COMPARE_SCALAR_FIELD(pk_nulls_first);
3236
-
3237
- return true;
3238
- }
3239
-
3240
- static bool
3241
- _equalRestrictInfo(const RestrictInfo *a, const RestrictInfo *b)
3242
- {
3243
- COMPARE_NODE_FIELD(clause);
3244
- COMPARE_SCALAR_FIELD(is_pushed_down);
3245
- COMPARE_SCALAR_FIELD(has_clone);
3246
- COMPARE_SCALAR_FIELD(is_clone);
3247
- COMPARE_SCALAR_FIELD(security_level);
3248
- COMPARE_BITMAPSET_FIELD(required_relids);
3249
- COMPARE_BITMAPSET_FIELD(incompatible_relids);
3250
- COMPARE_BITMAPSET_FIELD(outer_relids);
3251
- COMPARE_SCALAR_FIELD(rinfo_serial);
3252
-
3253
- return true;
3254
- }
3255
-
3256
- static bool
3257
- _equalPlaceHolderVar(const PlaceHolderVar *a, const PlaceHolderVar *b)
3258
- {
3259
- COMPARE_BITMAPSET_FIELD(phnullingrels);
3260
- COMPARE_SCALAR_FIELD(phid);
3261
- COMPARE_SCALAR_FIELD(phlevelsup);
3262
-
3263
- return true;
3264
- }
3265
-
3266
- static bool
3267
- _equalSpecialJoinInfo(const SpecialJoinInfo *a, const SpecialJoinInfo *b)
3268
- {
3269
- COMPARE_BITMAPSET_FIELD(min_lefthand);
3270
- COMPARE_BITMAPSET_FIELD(min_righthand);
3271
- COMPARE_BITMAPSET_FIELD(syn_lefthand);
3272
- COMPARE_BITMAPSET_FIELD(syn_righthand);
3273
- COMPARE_SCALAR_FIELD(jointype);
3274
- COMPARE_SCALAR_FIELD(ojrelid);
3275
- COMPARE_BITMAPSET_FIELD(commute_above_l);
3276
- COMPARE_BITMAPSET_FIELD(commute_above_r);
3277
- COMPARE_BITMAPSET_FIELD(commute_below_l);
3278
- COMPARE_BITMAPSET_FIELD(commute_below_r);
3279
- COMPARE_SCALAR_FIELD(lhs_strict);
3280
- COMPARE_SCALAR_FIELD(semi_can_btree);
3281
- COMPARE_SCALAR_FIELD(semi_can_hash);
3282
- COMPARE_NODE_FIELD(semi_operators);
3283
- COMPARE_NODE_FIELD(semi_rhs_exprs);
3284
-
3285
- return true;
3286
- }
3287
-
3288
- static bool
3289
- _equalAppendRelInfo(const AppendRelInfo *a, const AppendRelInfo *b)
3290
- {
3291
- COMPARE_SCALAR_FIELD(parent_relid);
3292
- COMPARE_SCALAR_FIELD(child_relid);
3293
- COMPARE_SCALAR_FIELD(parent_reltype);
3294
- COMPARE_SCALAR_FIELD(child_reltype);
3295
- COMPARE_NODE_FIELD(translated_vars);
3296
- COMPARE_SCALAR_FIELD(num_child_cols);
3297
- COMPARE_POINTER_FIELD(parent_colnos, a->num_child_cols * sizeof(AttrNumber));
3298
- COMPARE_SCALAR_FIELD(parent_reloid);
3299
-
3300
- return true;
3301
- }
3302
-
3303
- static bool
3304
- _equalPlaceHolderInfo(const PlaceHolderInfo *a, const PlaceHolderInfo *b)
3305
- {
3306
- COMPARE_SCALAR_FIELD(phid);
3307
- COMPARE_NODE_FIELD(ph_var);
3308
- COMPARE_BITMAPSET_FIELD(ph_eval_at);
3309
- COMPARE_BITMAPSET_FIELD(ph_lateral);
3310
- COMPARE_BITMAPSET_FIELD(ph_needed);
3311
- COMPARE_SCALAR_FIELD(ph_width);
3312
-
3313
- return true;
3314
- }
3315
-
3316
- static bool
3317
- _equalInteger(const Integer *a, const Integer *b)
3318
- {
3319
- COMPARE_SCALAR_FIELD(ival);
3320
-
3321
- return true;
3322
- }
3323
-
3324
- static bool
3325
- _equalFloat(const Float *a, const Float *b)
3326
- {
3327
- COMPARE_STRING_FIELD(fval);
3328
-
3329
- return true;
3330
- }
3331
-
3332
- static bool
3333
- _equalBoolean(const Boolean *a, const Boolean *b)
3334
- {
3335
- COMPARE_SCALAR_FIELD(boolval);
3336
-
3337
- return true;
3338
- }
3339
-
3340
- static bool
3341
- _equalString(const String *a, const String *b)
3342
- {
3343
- COMPARE_STRING_FIELD(sval);
3344
-
3345
- return true;
3346
- }
3347
-
3348
- static bool
3349
- _equalBitString(const BitString *a, const BitString *b)
3350
- {
3351
- COMPARE_STRING_FIELD(bsval);
3352
-
3353
- return true;
3354
- }