pg_query 5.0.0 → 5.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (447) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/Rakefile +3 -4
  4. data/ext/pg_query/extconf.rb +14 -4
  5. data/ext/pg_query/include/pg_query_fingerprint_defs.c +1 -1
  6. data/ext/pg_query/include/pg_query_outfuncs_defs.c +1 -1
  7. data/ext/pg_query/include/pg_query_readfuncs_defs.c +1 -1
  8. data/ext/pg_query/include/{miscadmin.h → postgres/miscadmin.h} +1 -1
  9. data/ext/pg_query/include/{nodes → postgres/nodes}/nodes.h +1 -1
  10. data/ext/pg_query/include/{parser → postgres/parser}/parser.h +3 -3
  11. data/ext/pg_query/include/{pg_config.h → postgres/pg_config.h} +136 -2
  12. data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
  13. data/ext/pg_query/include/{pgstat.h → postgres/pgstat.h} +1 -1
  14. data/ext/pg_query/include/{pl_gram.h → postgres/pl_gram.h} +2 -2
  15. data/ext/pg_query/include/{plpgsql.h → postgres/plpgsql.h} +11 -11
  16. data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +17 -0
  17. data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +101 -0
  18. data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +106 -0
  19. data/ext/pg_query/include/postgres/port/win32/arpa/inet.h +3 -0
  20. data/ext/pg_query/include/postgres/port/win32/dlfcn.h +1 -0
  21. data/ext/pg_query/include/postgres/port/win32/grp.h +1 -0
  22. data/ext/pg_query/include/postgres/port/win32/netdb.h +7 -0
  23. data/ext/pg_query/include/postgres/port/win32/netinet/in.h +3 -0
  24. data/ext/pg_query/include/postgres/port/win32/netinet/tcp.h +7 -0
  25. data/ext/pg_query/include/postgres/port/win32/pwd.h +3 -0
  26. data/ext/pg_query/include/postgres/port/win32/sys/resource.h +20 -0
  27. data/ext/pg_query/include/postgres/port/win32/sys/select.h +3 -0
  28. data/ext/pg_query/include/postgres/port/win32/sys/socket.h +26 -0
  29. data/ext/pg_query/include/postgres/port/win32/sys/un.h +17 -0
  30. data/ext/pg_query/include/postgres/port/win32/sys/wait.h +3 -0
  31. data/ext/pg_query/include/postgres/port/win32.h +59 -0
  32. data/ext/pg_query/include/postgres/port/win32_msvc/dirent.h +34 -0
  33. data/ext/pg_query/include/postgres/port/win32_msvc/sys/file.h +1 -0
  34. data/ext/pg_query/include/postgres/port/win32_msvc/sys/param.h +1 -0
  35. data/ext/pg_query/include/postgres/port/win32_msvc/sys/time.h +1 -0
  36. data/ext/pg_query/include/postgres/port/win32_msvc/unistd.h +9 -0
  37. data/ext/pg_query/include/postgres/port/win32_msvc/utime.h +3 -0
  38. data/ext/pg_query/include/postgres/port/win32_port.h +594 -0
  39. data/ext/pg_query/include/{postmaster → postgres/postmaster}/postmaster.h +1 -1
  40. data/ext/pg_query/include/{storage → postgres/storage}/ipc.h +1 -1
  41. data/ext/pg_query/include/{tcop → postgres/tcop}/tcopprot.h +2 -2
  42. data/ext/pg_query/include/{utils → postgres/utils}/builtins.h +1 -1
  43. data/ext/pg_query/include/{utils → postgres/utils}/elog.h +3 -3
  44. data/ext/pg_query/include/{utils → postgres/utils}/guc.h +4 -4
  45. data/ext/pg_query/include/{utils → postgres/utils}/memutils.h +2 -2
  46. data/ext/pg_query/include/{utils → postgres/utils}/palloc.h +1 -1
  47. data/ext/pg_query/pg_query.c +9 -0
  48. data/ext/pg_query/pg_query_fingerprint.c +4 -5
  49. data/ext/pg_query/pg_query_outfuncs_json.c +6 -0
  50. data/ext/pg_query/pg_query_outfuncs_protobuf.c +1 -0
  51. data/ext/pg_query/pg_query_parse.c +1 -1
  52. data/ext/pg_query/pg_query_parse_plpgsql.c +6 -4
  53. data/ext/pg_query/pg_query_readfuncs_protobuf.c +1 -0
  54. data/ext/pg_query/pg_query_ruby.c +5 -0
  55. data/ext/pg_query/pg_query_split.c +1 -1
  56. data/ext/pg_query/src_backend_nodes_nodes.c +38 -0
  57. data/ext/pg_query/src_backend_utils_error_elog.c +17 -152
  58. data/ext/pg_query/src_backend_utils_init_globals.c +1 -1
  59. data/ext/pg_query/src_backend_utils_mb_mbutils.c +8 -63
  60. data/ext/pg_query/src_backend_utils_misc_guc_tables.c +0 -2
  61. data/ext/pg_query/src_port_pg_bitutils.c +78 -4
  62. data/ext/pg_query/src_port_snprintf.c +3 -3
  63. data/ext/pg_query/src_port_strlcpy.c +79 -0
  64. data/lib/pg_query/fingerprint.rb +2 -3
  65. data/lib/pg_query/node.rb +16 -11
  66. data/lib/pg_query/parse.rb +1 -1
  67. data/lib/pg_query/pg_query_pb.rb +1 -1
  68. data/lib/pg_query/treewalker.rb +16 -3
  69. data/lib/pg_query/version.rb +1 -1
  70. metadata +424 -394
  71. data/ext/pg_query/guc-file.c +0 -0
  72. data/ext/pg_query/include/common/ip.h +0 -33
  73. data/ext/pg_query/include/pg_config_os.h +0 -8
  74. data/ext/pg_query/include/postmaster/auxprocess.h +0 -20
  75. data/ext/pg_query/include/postmaster/fork_process.h +0 -17
  76. data/ext/pg_query/include/src_backend_nodes_copyfuncs.funcs.c +0 -5321
  77. data/ext/pg_query/include/src_backend_nodes_equalfuncs.funcs.c +0 -3354
  78. data/ext/pg_query/include/utils/pidfile.h +0 -56
  79. data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2220
  80. data/ext/pg_query/src_port_strnlen.c +0 -39
  81. /data/ext/pg_query/include/{access → postgres/access}/amapi.h +0 -0
  82. /data/ext/pg_query/include/{access → postgres/access}/attmap.h +0 -0
  83. /data/ext/pg_query/include/{access → postgres/access}/attnum.h +0 -0
  84. /data/ext/pg_query/include/{access → postgres/access}/clog.h +0 -0
  85. /data/ext/pg_query/include/{access → postgres/access}/commit_ts.h +0 -0
  86. /data/ext/pg_query/include/{access → postgres/access}/detoast.h +0 -0
  87. /data/ext/pg_query/include/{access → postgres/access}/genam.h +0 -0
  88. /data/ext/pg_query/include/{access → postgres/access}/gin.h +0 -0
  89. /data/ext/pg_query/include/{access → postgres/access}/htup.h +0 -0
  90. /data/ext/pg_query/include/{access → postgres/access}/htup_details.h +0 -0
  91. /data/ext/pg_query/include/{access → postgres/access}/itup.h +0 -0
  92. /data/ext/pg_query/include/{access → postgres/access}/parallel.h +0 -0
  93. /data/ext/pg_query/include/{access → postgres/access}/printtup.h +0 -0
  94. /data/ext/pg_query/include/{access → postgres/access}/relation.h +0 -0
  95. /data/ext/pg_query/include/{access → postgres/access}/relscan.h +0 -0
  96. /data/ext/pg_query/include/{access → postgres/access}/rmgr.h +0 -0
  97. /data/ext/pg_query/include/{access → postgres/access}/rmgrlist.h +0 -0
  98. /data/ext/pg_query/include/{access → postgres/access}/sdir.h +0 -0
  99. /data/ext/pg_query/include/{access → postgres/access}/skey.h +0 -0
  100. /data/ext/pg_query/include/{access → postgres/access}/stratnum.h +0 -0
  101. /data/ext/pg_query/include/{access → postgres/access}/sysattr.h +0 -0
  102. /data/ext/pg_query/include/{access → postgres/access}/table.h +0 -0
  103. /data/ext/pg_query/include/{access → postgres/access}/tableam.h +0 -0
  104. /data/ext/pg_query/include/{access → postgres/access}/toast_compression.h +0 -0
  105. /data/ext/pg_query/include/{access → postgres/access}/transam.h +0 -0
  106. /data/ext/pg_query/include/{access → postgres/access}/tsmapi.h +0 -0
  107. /data/ext/pg_query/include/{access → postgres/access}/tupconvert.h +0 -0
  108. /data/ext/pg_query/include/{access → postgres/access}/tupdesc.h +0 -0
  109. /data/ext/pg_query/include/{access → postgres/access}/tupmacs.h +0 -0
  110. /data/ext/pg_query/include/{access → postgres/access}/twophase.h +0 -0
  111. /data/ext/pg_query/include/{access → postgres/access}/xact.h +0 -0
  112. /data/ext/pg_query/include/{access → postgres/access}/xlog.h +0 -0
  113. /data/ext/pg_query/include/{access → postgres/access}/xlog_internal.h +0 -0
  114. /data/ext/pg_query/include/{access → postgres/access}/xlogbackup.h +0 -0
  115. /data/ext/pg_query/include/{access → postgres/access}/xlogdefs.h +0 -0
  116. /data/ext/pg_query/include/{access → postgres/access}/xlogprefetcher.h +0 -0
  117. /data/ext/pg_query/include/{access → postgres/access}/xlogreader.h +0 -0
  118. /data/ext/pg_query/include/{access → postgres/access}/xlogrecord.h +0 -0
  119. /data/ext/pg_query/include/{access → postgres/access}/xlogrecovery.h +0 -0
  120. /data/ext/pg_query/include/{archive → postgres/archive}/archive_module.h +0 -0
  121. /data/ext/pg_query/include/{c.h → postgres/c.h} +0 -0
  122. /data/ext/pg_query/include/{catalog → postgres/catalog}/catalog.h +0 -0
  123. /data/ext/pg_query/include/{catalog → postgres/catalog}/catversion.h +0 -0
  124. /data/ext/pg_query/include/{catalog → postgres/catalog}/dependency.h +0 -0
  125. /data/ext/pg_query/include/{catalog → postgres/catalog}/genbki.h +0 -0
  126. /data/ext/pg_query/include/{catalog → postgres/catalog}/index.h +0 -0
  127. /data/ext/pg_query/include/{catalog → postgres/catalog}/indexing.h +0 -0
  128. /data/ext/pg_query/include/{catalog → postgres/catalog}/namespace.h +0 -0
  129. /data/ext/pg_query/include/{catalog → postgres/catalog}/objectaccess.h +0 -0
  130. /data/ext/pg_query/include/{catalog → postgres/catalog}/objectaddress.h +0 -0
  131. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate.h +0 -0
  132. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate_d.h +0 -0
  133. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am.h +0 -0
  134. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am_d.h +0 -0
  135. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute.h +0 -0
  136. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute_d.h +0 -0
  137. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid.h +0 -0
  138. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid_d.h +0 -0
  139. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class.h +0 -0
  140. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class_d.h +0 -0
  141. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation.h +0 -0
  142. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation_d.h +0 -0
  143. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint.h +0 -0
  144. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint_d.h +0 -0
  145. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_control.h +0 -0
  146. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion.h +0 -0
  147. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion_d.h +0 -0
  148. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_database.h +0 -0
  149. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_database_d.h +0 -0
  150. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend.h +0 -0
  151. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend_d.h +0 -0
  152. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger.h +0 -0
  153. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger_d.h +0 -0
  154. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index.h +0 -0
  155. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index_d.h +0 -0
  156. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language.h +0 -0
  157. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language_d.h +0 -0
  158. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace.h +0 -0
  159. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace_d.h +0 -0
  160. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass.h +0 -0
  161. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass_d.h +0 -0
  162. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator.h +0 -0
  163. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator_d.h +0 -0
  164. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily.h +0 -0
  165. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily_d.h +0 -0
  166. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table.h +0 -0
  167. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table_d.h +0 -0
  168. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc.h +0 -0
  169. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc_d.h +0 -0
  170. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication.h +0 -0
  171. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication_d.h +0 -0
  172. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin.h +0 -0
  173. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin_d.h +0 -0
  174. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic.h +0 -0
  175. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_d.h +0 -0
  176. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext.h +0 -0
  177. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext_d.h +0 -0
  178. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform.h +0 -0
  179. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform_d.h +0 -0
  180. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger.h +0 -0
  181. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger_d.h +0 -0
  182. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config.h +0 -0
  183. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config_d.h +0 -0
  184. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict.h +0 -0
  185. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict_d.h +0 -0
  186. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser.h +0 -0
  187. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser_d.h +0 -0
  188. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template.h +0 -0
  189. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template_d.h +0 -0
  190. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type.h +0 -0
  191. /data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type_d.h +0 -0
  192. /data/ext/pg_query/include/{catalog → postgres/catalog}/storage.h +0 -0
  193. /data/ext/pg_query/include/{commands → postgres/commands}/async.h +0 -0
  194. /data/ext/pg_query/include/{commands → postgres/commands}/dbcommands.h +0 -0
  195. /data/ext/pg_query/include/{commands → postgres/commands}/defrem.h +0 -0
  196. /data/ext/pg_query/include/{commands → postgres/commands}/event_trigger.h +0 -0
  197. /data/ext/pg_query/include/{commands → postgres/commands}/explain.h +0 -0
  198. /data/ext/pg_query/include/{commands → postgres/commands}/prepare.h +0 -0
  199. /data/ext/pg_query/include/{commands → postgres/commands}/tablespace.h +0 -0
  200. /data/ext/pg_query/include/{commands → postgres/commands}/trigger.h +0 -0
  201. /data/ext/pg_query/include/{commands → postgres/commands}/user.h +0 -0
  202. /data/ext/pg_query/include/{commands → postgres/commands}/vacuum.h +0 -0
  203. /data/ext/pg_query/include/{common → postgres/common}/cryptohash.h +0 -0
  204. /data/ext/pg_query/include/{common → postgres/common}/file_perm.h +0 -0
  205. /data/ext/pg_query/include/{common → postgres/common}/hashfn.h +0 -0
  206. /data/ext/pg_query/include/{common → postgres/common}/int.h +0 -0
  207. /data/ext/pg_query/include/{common → postgres/common}/keywords.h +0 -0
  208. /data/ext/pg_query/include/{common → postgres/common}/kwlookup.h +0 -0
  209. /data/ext/pg_query/include/{common → postgres/common}/pg_prng.h +0 -0
  210. /data/ext/pg_query/include/{common → postgres/common}/relpath.h +0 -0
  211. /data/ext/pg_query/include/{common → postgres/common}/scram-common.h +0 -0
  212. /data/ext/pg_query/include/{common → postgres/common}/sha2.h +0 -0
  213. /data/ext/pg_query/include/{common → postgres/common}/string.h +0 -0
  214. /data/ext/pg_query/include/{common → postgres/common}/unicode_east_asian_fw_table.h +0 -0
  215. /data/ext/pg_query/include/{common → postgres/common}/unicode_nonspacing_table.h +0 -0
  216. /data/ext/pg_query/include/{copyfuncs.funcs.c → postgres/copyfuncs.funcs.c} +0 -0
  217. /data/ext/pg_query/include/{copyfuncs.switch.c → postgres/copyfuncs.switch.c} +0 -0
  218. /data/ext/pg_query/include/{datatype → postgres/datatype}/timestamp.h +0 -0
  219. /data/ext/pg_query/include/{equalfuncs.funcs.c → postgres/equalfuncs.funcs.c} +0 -0
  220. /data/ext/pg_query/include/{equalfuncs.switch.c → postgres/equalfuncs.switch.c} +0 -0
  221. /data/ext/pg_query/include/{executor → postgres/executor}/execdesc.h +0 -0
  222. /data/ext/pg_query/include/{executor → postgres/executor}/executor.h +0 -0
  223. /data/ext/pg_query/include/{executor → postgres/executor}/functions.h +0 -0
  224. /data/ext/pg_query/include/{executor → postgres/executor}/instrument.h +0 -0
  225. /data/ext/pg_query/include/{executor → postgres/executor}/spi.h +0 -0
  226. /data/ext/pg_query/include/{executor → postgres/executor}/tablefunc.h +0 -0
  227. /data/ext/pg_query/include/{executor → postgres/executor}/tuptable.h +0 -0
  228. /data/ext/pg_query/include/{fmgr.h → postgres/fmgr.h} +0 -0
  229. /data/ext/pg_query/include/{foreign → postgres/foreign}/fdwapi.h +0 -0
  230. /data/ext/pg_query/include/{funcapi.h → postgres/funcapi.h} +0 -0
  231. /data/ext/pg_query/include/{gram.h → postgres/gram.h} +0 -0
  232. /data/ext/pg_query/include/{gramparse.h → postgres/gramparse.h} +0 -0
  233. /data/ext/pg_query/include/{jit → postgres/jit}/jit.h +0 -0
  234. /data/ext/pg_query/include/{kwlist_d.h → postgres/kwlist_d.h} +0 -0
  235. /data/ext/pg_query/include/{lib → postgres/lib}/dshash.h +0 -0
  236. /data/ext/pg_query/include/{lib → postgres/lib}/ilist.h +0 -0
  237. /data/ext/pg_query/include/{lib → postgres/lib}/pairingheap.h +0 -0
  238. /data/ext/pg_query/include/{lib → postgres/lib}/simplehash.h +0 -0
  239. /data/ext/pg_query/include/{lib → postgres/lib}/sort_template.h +0 -0
  240. /data/ext/pg_query/include/{lib → postgres/lib}/stringinfo.h +0 -0
  241. /data/ext/pg_query/include/{libpq → postgres/libpq}/auth.h +0 -0
  242. /data/ext/pg_query/include/{libpq → postgres/libpq}/crypt.h +0 -0
  243. /data/ext/pg_query/include/{libpq → postgres/libpq}/hba.h +0 -0
  244. /data/ext/pg_query/include/{libpq → postgres/libpq}/libpq-be.h +0 -0
  245. /data/ext/pg_query/include/{libpq → postgres/libpq}/libpq.h +0 -0
  246. /data/ext/pg_query/include/{libpq → postgres/libpq}/pqcomm.h +0 -0
  247. /data/ext/pg_query/include/{libpq → postgres/libpq}/pqformat.h +0 -0
  248. /data/ext/pg_query/include/{libpq → postgres/libpq}/pqsignal.h +0 -0
  249. /data/ext/pg_query/include/{libpq → postgres/libpq}/sasl.h +0 -0
  250. /data/ext/pg_query/include/{libpq → postgres/libpq}/scram.h +0 -0
  251. /data/ext/pg_query/include/{mb → postgres/mb}/pg_wchar.h +0 -0
  252. /data/ext/pg_query/include/{mb → postgres/mb}/stringinfo_mb.h +0 -0
  253. /data/ext/pg_query/include/{nodes → postgres/nodes}/bitmapset.h +0 -0
  254. /data/ext/pg_query/include/{nodes → postgres/nodes}/execnodes.h +0 -0
  255. /data/ext/pg_query/include/{nodes → postgres/nodes}/extensible.h +0 -0
  256. /data/ext/pg_query/include/{nodes → postgres/nodes}/lockoptions.h +0 -0
  257. /data/ext/pg_query/include/{nodes → postgres/nodes}/makefuncs.h +0 -0
  258. /data/ext/pg_query/include/{nodes → postgres/nodes}/memnodes.h +0 -0
  259. /data/ext/pg_query/include/{nodes → postgres/nodes}/miscnodes.h +0 -0
  260. /data/ext/pg_query/include/{nodes → postgres/nodes}/nodeFuncs.h +0 -0
  261. /data/ext/pg_query/include/{nodes → postgres/nodes}/nodetags.h +0 -0
  262. /data/ext/pg_query/include/{nodes → postgres/nodes}/params.h +0 -0
  263. /data/ext/pg_query/include/{nodes → postgres/nodes}/parsenodes.h +0 -0
  264. /data/ext/pg_query/include/{nodes → postgres/nodes}/pathnodes.h +0 -0
  265. /data/ext/pg_query/include/{nodes → postgres/nodes}/pg_list.h +0 -0
  266. /data/ext/pg_query/include/{nodes → postgres/nodes}/plannodes.h +0 -0
  267. /data/ext/pg_query/include/{nodes → postgres/nodes}/primnodes.h +0 -0
  268. /data/ext/pg_query/include/{nodes → postgres/nodes}/print.h +0 -0
  269. /data/ext/pg_query/include/{nodes → postgres/nodes}/queryjumble.h +0 -0
  270. /data/ext/pg_query/include/{nodes → postgres/nodes}/replnodes.h +0 -0
  271. /data/ext/pg_query/include/{nodes → postgres/nodes}/supportnodes.h +0 -0
  272. /data/ext/pg_query/include/{nodes → postgres/nodes}/tidbitmap.h +0 -0
  273. /data/ext/pg_query/include/{nodes → postgres/nodes}/value.h +0 -0
  274. /data/ext/pg_query/include/{optimizer → postgres/optimizer}/cost.h +0 -0
  275. /data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo.h +0 -0
  276. /data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo_gene.h +0 -0
  277. /data/ext/pg_query/include/{optimizer → postgres/optimizer}/optimizer.h +0 -0
  278. /data/ext/pg_query/include/{optimizer → postgres/optimizer}/paths.h +0 -0
  279. /data/ext/pg_query/include/{optimizer → postgres/optimizer}/planmain.h +0 -0
  280. /data/ext/pg_query/include/{parser → postgres/parser}/analyze.h +0 -0
  281. /data/ext/pg_query/include/{parser → postgres/parser}/kwlist.h +0 -0
  282. /data/ext/pg_query/include/{parser → postgres/parser}/parse_agg.h +0 -0
  283. /data/ext/pg_query/include/{parser → postgres/parser}/parse_coerce.h +0 -0
  284. /data/ext/pg_query/include/{parser → postgres/parser}/parse_expr.h +0 -0
  285. /data/ext/pg_query/include/{parser → postgres/parser}/parse_func.h +0 -0
  286. /data/ext/pg_query/include/{parser → postgres/parser}/parse_node.h +0 -0
  287. /data/ext/pg_query/include/{parser → postgres/parser}/parse_oper.h +0 -0
  288. /data/ext/pg_query/include/{parser → postgres/parser}/parse_relation.h +0 -0
  289. /data/ext/pg_query/include/{parser → postgres/parser}/parse_type.h +0 -0
  290. /data/ext/pg_query/include/{parser → postgres/parser}/parsetree.h +0 -0
  291. /data/ext/pg_query/include/{parser → postgres/parser}/scanner.h +0 -0
  292. /data/ext/pg_query/include/{parser → postgres/parser}/scansup.h +0 -0
  293. /data/ext/pg_query/include/{partitioning → postgres/partitioning}/partdefs.h +0 -0
  294. /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
  295. /data/ext/pg_query/include/{pg_config_manual.h → postgres/pg_config_manual.h} +0 -0
  296. /data/ext/pg_query/include/{pg_getopt.h → postgres/pg_getopt.h} +0 -0
  297. /data/ext/pg_query/include/{pg_trace.h → postgres/pg_trace.h} +0 -0
  298. /data/ext/pg_query/include/{pgtime.h → postgres/pgtime.h} +0 -0
  299. /data/ext/pg_query/include/{pl_reserved_kwlist.h → postgres/pl_reserved_kwlist.h} +0 -0
  300. /data/ext/pg_query/include/{pl_reserved_kwlist_d.h → postgres/pl_reserved_kwlist_d.h} +0 -0
  301. /data/ext/pg_query/include/{pl_unreserved_kwlist.h → postgres/pl_unreserved_kwlist.h} +0 -0
  302. /data/ext/pg_query/include/{pl_unreserved_kwlist_d.h → postgres/pl_unreserved_kwlist_d.h} +0 -0
  303. /data/ext/pg_query/include/{plerrcodes.h → postgres/plerrcodes.h} +0 -0
  304. /data/ext/pg_query/include/{port → postgres/port}/atomics/arch-arm.h +0 -0
  305. /data/ext/pg_query/include/{port → postgres/port}/atomics/arch-ppc.h +0 -0
  306. /data/ext/pg_query/include/{port → postgres/port}/atomics/arch-x86.h +0 -0
  307. /data/ext/pg_query/include/{port → postgres/port}/atomics/fallback.h +0 -0
  308. /data/ext/pg_query/include/{port → postgres/port}/atomics/generic-gcc.h +0 -0
  309. /data/ext/pg_query/include/{port → postgres/port}/atomics/generic.h +0 -0
  310. /data/ext/pg_query/include/{port → postgres/port}/atomics.h +0 -0
  311. /data/ext/pg_query/include/{port → postgres/port}/pg_bitutils.h +0 -0
  312. /data/ext/pg_query/include/{port → postgres/port}/pg_bswap.h +0 -0
  313. /data/ext/pg_query/include/{port → postgres/port}/pg_crc32c.h +0 -0
  314. /data/ext/pg_query/include/{port → postgres/port}/simd.h +0 -0
  315. /data/ext/pg_query/include/{port.h → postgres/port.h} +0 -0
  316. /data/ext/pg_query/include/{portability → postgres/portability}/instr_time.h +0 -0
  317. /data/ext/pg_query/include/{postgres.h → postgres/postgres.h} +0 -0
  318. /data/ext/pg_query/include/{postgres_ext.h → postgres/postgres_ext.h} +0 -0
  319. /data/ext/pg_query/include/{postmaster → postgres/postmaster}/autovacuum.h +0 -0
  320. /data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker.h +0 -0
  321. /data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker_internals.h +0 -0
  322. /data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgwriter.h +0 -0
  323. /data/ext/pg_query/include/{postmaster → postgres/postmaster}/interrupt.h +0 -0
  324. /data/ext/pg_query/include/{postmaster → postgres/postmaster}/pgarch.h +0 -0
  325. /data/ext/pg_query/include/{postmaster → postgres/postmaster}/startup.h +0 -0
  326. /data/ext/pg_query/include/{postmaster → postgres/postmaster}/syslogger.h +0 -0
  327. /data/ext/pg_query/include/{postmaster → postgres/postmaster}/walwriter.h +0 -0
  328. /data/ext/pg_query/include/{regex → postgres/regex}/regex.h +0 -0
  329. /data/ext/pg_query/include/{replication → postgres/replication}/logicallauncher.h +0 -0
  330. /data/ext/pg_query/include/{replication → postgres/replication}/logicalproto.h +0 -0
  331. /data/ext/pg_query/include/{replication → postgres/replication}/logicalworker.h +0 -0
  332. /data/ext/pg_query/include/{replication → postgres/replication}/origin.h +0 -0
  333. /data/ext/pg_query/include/{replication → postgres/replication}/reorderbuffer.h +0 -0
  334. /data/ext/pg_query/include/{replication → postgres/replication}/slot.h +0 -0
  335. /data/ext/pg_query/include/{replication → postgres/replication}/syncrep.h +0 -0
  336. /data/ext/pg_query/include/{replication → postgres/replication}/walreceiver.h +0 -0
  337. /data/ext/pg_query/include/{replication → postgres/replication}/walsender.h +0 -0
  338. /data/ext/pg_query/include/{rewrite → postgres/rewrite}/prs2lock.h +0 -0
  339. /data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteHandler.h +0 -0
  340. /data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteManip.h +0 -0
  341. /data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteSupport.h +0 -0
  342. /data/ext/pg_query/include/{storage → postgres/storage}/backendid.h +0 -0
  343. /data/ext/pg_query/include/{storage → postgres/storage}/block.h +0 -0
  344. /data/ext/pg_query/include/{storage → postgres/storage}/buf.h +0 -0
  345. /data/ext/pg_query/include/{storage → postgres/storage}/bufmgr.h +0 -0
  346. /data/ext/pg_query/include/{storage → postgres/storage}/bufpage.h +0 -0
  347. /data/ext/pg_query/include/{storage → postgres/storage}/condition_variable.h +0 -0
  348. /data/ext/pg_query/include/{storage → postgres/storage}/dsm.h +0 -0
  349. /data/ext/pg_query/include/{storage → postgres/storage}/dsm_impl.h +0 -0
  350. /data/ext/pg_query/include/{storage → postgres/storage}/fd.h +0 -0
  351. /data/ext/pg_query/include/{storage → postgres/storage}/fileset.h +0 -0
  352. /data/ext/pg_query/include/{storage → postgres/storage}/item.h +0 -0
  353. /data/ext/pg_query/include/{storage → postgres/storage}/itemid.h +0 -0
  354. /data/ext/pg_query/include/{storage → postgres/storage}/itemptr.h +0 -0
  355. /data/ext/pg_query/include/{storage → postgres/storage}/large_object.h +0 -0
  356. /data/ext/pg_query/include/{storage → postgres/storage}/latch.h +0 -0
  357. /data/ext/pg_query/include/{storage → postgres/storage}/lmgr.h +0 -0
  358. /data/ext/pg_query/include/{storage → postgres/storage}/lock.h +0 -0
  359. /data/ext/pg_query/include/{storage → postgres/storage}/lockdefs.h +0 -0
  360. /data/ext/pg_query/include/{storage → postgres/storage}/lwlock.h +0 -0
  361. /data/ext/pg_query/include/{storage → postgres/storage}/lwlocknames.h +0 -0
  362. /data/ext/pg_query/include/{storage → postgres/storage}/off.h +0 -0
  363. /data/ext/pg_query/include/{storage → postgres/storage}/pg_sema.h +0 -0
  364. /data/ext/pg_query/include/{storage → postgres/storage}/pg_shmem.h +0 -0
  365. /data/ext/pg_query/include/{storage → postgres/storage}/pmsignal.h +0 -0
  366. /data/ext/pg_query/include/{storage → postgres/storage}/predicate.h +0 -0
  367. /data/ext/pg_query/include/{storage → postgres/storage}/proc.h +0 -0
  368. /data/ext/pg_query/include/{storage → postgres/storage}/procarray.h +0 -0
  369. /data/ext/pg_query/include/{storage → postgres/storage}/proclist_types.h +0 -0
  370. /data/ext/pg_query/include/{storage → postgres/storage}/procsignal.h +0 -0
  371. /data/ext/pg_query/include/{storage → postgres/storage}/relfilelocator.h +0 -0
  372. /data/ext/pg_query/include/{storage → postgres/storage}/s_lock.h +0 -0
  373. /data/ext/pg_query/include/{storage → postgres/storage}/sharedfileset.h +0 -0
  374. /data/ext/pg_query/include/{storage → postgres/storage}/shm_mq.h +0 -0
  375. /data/ext/pg_query/include/{storage → postgres/storage}/shm_toc.h +0 -0
  376. /data/ext/pg_query/include/{storage → postgres/storage}/shmem.h +0 -0
  377. /data/ext/pg_query/include/{storage → postgres/storage}/sinval.h +0 -0
  378. /data/ext/pg_query/include/{storage → postgres/storage}/sinvaladt.h +0 -0
  379. /data/ext/pg_query/include/{storage → postgres/storage}/smgr.h +0 -0
  380. /data/ext/pg_query/include/{storage → postgres/storage}/spin.h +0 -0
  381. /data/ext/pg_query/include/{storage → postgres/storage}/standby.h +0 -0
  382. /data/ext/pg_query/include/{storage → postgres/storage}/standbydefs.h +0 -0
  383. /data/ext/pg_query/include/{storage → postgres/storage}/sync.h +0 -0
  384. /data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtag.h +0 -0
  385. /data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtaglist.h +0 -0
  386. /data/ext/pg_query/include/{tcop → postgres/tcop}/deparse_utility.h +0 -0
  387. /data/ext/pg_query/include/{tcop → postgres/tcop}/dest.h +0 -0
  388. /data/ext/pg_query/include/{tcop → postgres/tcop}/fastpath.h +0 -0
  389. /data/ext/pg_query/include/{tcop → postgres/tcop}/pquery.h +0 -0
  390. /data/ext/pg_query/include/{tcop → postgres/tcop}/utility.h +0 -0
  391. /data/ext/pg_query/include/{tsearch → postgres/tsearch}/ts_cache.h +0 -0
  392. /data/ext/pg_query/include/{utils → postgres/utils}/acl.h +0 -0
  393. /data/ext/pg_query/include/{utils → postgres/utils}/aclchk_internal.h +0 -0
  394. /data/ext/pg_query/include/{utils → postgres/utils}/array.h +0 -0
  395. /data/ext/pg_query/include/{utils → postgres/utils}/backend_progress.h +0 -0
  396. /data/ext/pg_query/include/{utils → postgres/utils}/backend_status.h +0 -0
  397. /data/ext/pg_query/include/{utils → postgres/utils}/bytea.h +0 -0
  398. /data/ext/pg_query/include/{utils → postgres/utils}/catcache.h +0 -0
  399. /data/ext/pg_query/include/{utils → postgres/utils}/date.h +0 -0
  400. /data/ext/pg_query/include/{utils → postgres/utils}/datetime.h +0 -0
  401. /data/ext/pg_query/include/{utils → postgres/utils}/datum.h +0 -0
  402. /data/ext/pg_query/include/{utils → postgres/utils}/dsa.h +0 -0
  403. /data/ext/pg_query/include/{utils → postgres/utils}/errcodes.h +0 -0
  404. /data/ext/pg_query/include/{utils → postgres/utils}/expandeddatum.h +0 -0
  405. /data/ext/pg_query/include/{utils → postgres/utils}/expandedrecord.h +0 -0
  406. /data/ext/pg_query/include/{utils → postgres/utils}/float.h +0 -0
  407. /data/ext/pg_query/include/{utils → postgres/utils}/fmgroids.h +0 -0
  408. /data/ext/pg_query/include/{utils → postgres/utils}/fmgrprotos.h +0 -0
  409. /data/ext/pg_query/include/{utils → postgres/utils}/fmgrtab.h +0 -0
  410. /data/ext/pg_query/include/{utils → postgres/utils}/guc_hooks.h +0 -0
  411. /data/ext/pg_query/include/{utils → postgres/utils}/guc_tables.h +0 -0
  412. /data/ext/pg_query/include/{utils → postgres/utils}/hsearch.h +0 -0
  413. /data/ext/pg_query/include/{utils → postgres/utils}/inval.h +0 -0
  414. /data/ext/pg_query/include/{utils → postgres/utils}/logtape.h +0 -0
  415. /data/ext/pg_query/include/{utils → postgres/utils}/lsyscache.h +0 -0
  416. /data/ext/pg_query/include/{utils → postgres/utils}/memdebug.h +0 -0
  417. /data/ext/pg_query/include/{utils → postgres/utils}/memutils_internal.h +0 -0
  418. /data/ext/pg_query/include/{utils → postgres/utils}/memutils_memorychunk.h +0 -0
  419. /data/ext/pg_query/include/{utils → postgres/utils}/numeric.h +0 -0
  420. /data/ext/pg_query/include/{utils → postgres/utils}/partcache.h +0 -0
  421. /data/ext/pg_query/include/{utils → postgres/utils}/pg_locale.h +0 -0
  422. /data/ext/pg_query/include/{utils → postgres/utils}/pgstat_internal.h +0 -0
  423. /data/ext/pg_query/include/{utils → postgres/utils}/plancache.h +0 -0
  424. /data/ext/pg_query/include/{utils → postgres/utils}/portal.h +0 -0
  425. /data/ext/pg_query/include/{utils → postgres/utils}/probes.h +0 -0
  426. /data/ext/pg_query/include/{utils → postgres/utils}/ps_status.h +0 -0
  427. /data/ext/pg_query/include/{utils → postgres/utils}/queryenvironment.h +0 -0
  428. /data/ext/pg_query/include/{utils → postgres/utils}/regproc.h +0 -0
  429. /data/ext/pg_query/include/{utils → postgres/utils}/rel.h +0 -0
  430. /data/ext/pg_query/include/{utils → postgres/utils}/relcache.h +0 -0
  431. /data/ext/pg_query/include/{utils → postgres/utils}/reltrigger.h +0 -0
  432. /data/ext/pg_query/include/{utils → postgres/utils}/resowner.h +0 -0
  433. /data/ext/pg_query/include/{utils → postgres/utils}/ruleutils.h +0 -0
  434. /data/ext/pg_query/include/{utils → postgres/utils}/sharedtuplestore.h +0 -0
  435. /data/ext/pg_query/include/{utils → postgres/utils}/snapmgr.h +0 -0
  436. /data/ext/pg_query/include/{utils → postgres/utils}/snapshot.h +0 -0
  437. /data/ext/pg_query/include/{utils → postgres/utils}/sortsupport.h +0 -0
  438. /data/ext/pg_query/include/{utils → postgres/utils}/syscache.h +0 -0
  439. /data/ext/pg_query/include/{utils → postgres/utils}/timeout.h +0 -0
  440. /data/ext/pg_query/include/{utils → postgres/utils}/timestamp.h +0 -0
  441. /data/ext/pg_query/include/{utils → postgres/utils}/tuplesort.h +0 -0
  442. /data/ext/pg_query/include/{utils → postgres/utils}/tuplestore.h +0 -0
  443. /data/ext/pg_query/include/{utils → postgres/utils}/typcache.h +0 -0
  444. /data/ext/pg_query/include/{utils → postgres/utils}/varlena.h +0 -0
  445. /data/ext/pg_query/include/{utils → postgres/utils}/wait_event.h +0 -0
  446. /data/ext/pg_query/include/{utils → postgres/utils}/xml.h +0 -0
  447. /data/ext/pg_query/include/{varatt.h → postgres/varatt.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
- }