mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-13 18:09:44 +02:00
c532d15ddd
Copy.c has grown really large. Split it into more manageable parts: - copy.c now contains only a few functions that are common to COPY FROM and COPY TO. - copyto.c contains code for COPY TO. - copyfrom.c contains code for initializing COPY FROM, and inserting the tuples to the correct table. - copyfromparse.c contains code for reading from the client/file/program, and parsing the input text/CSV/binary format into tuples. All of these parts are fairly complicated, and fairly independent of each other. There is a patch being discussed to implement parallel COPY FROM, which will add a lot of new code to the COPY FROM path, and another patch which would allow INSERTs to use the same multi-insert machinery as COPY FROM, both of which will require refactoring that code. With those two patches, there's going to be a lot of code churn in copy.c anyway, so now seems like a good time to do this refactoring. The CopyStateData struct is also split. All the formatting options, like FORMAT, QUOTE, ESCAPE, are put in a new CopyFormatOption struct, which is used by both COPY FROM and TO. Other state data are kept in separate CopyFromStateData and CopyToStateData structs. Reviewed-by: Soumyadeep Chakraborty, Erik Rijkers, Vignesh C, Andres Freund Discussion: https://www.postgresql.org/message-id/8e15b560-f387-7acc-ac90-763986617bfb%40iki.fi
66 lines
1.1 KiB
Makefile
66 lines
1.1 KiB
Makefile
#-------------------------------------------------------------------------
|
|
#
|
|
# Makefile--
|
|
# Makefile for backend/commands
|
|
#
|
|
# IDENTIFICATION
|
|
# src/backend/commands/Makefile
|
|
#
|
|
#-------------------------------------------------------------------------
|
|
|
|
subdir = src/backend/commands
|
|
top_builddir = ../../..
|
|
include $(top_builddir)/src/Makefile.global
|
|
|
|
OBJS = \
|
|
aggregatecmds.o \
|
|
alter.o \
|
|
amcmds.o \
|
|
analyze.o \
|
|
async.o \
|
|
cluster.o \
|
|
collationcmds.o \
|
|
comment.o \
|
|
constraint.o \
|
|
conversioncmds.o \
|
|
copy.o \
|
|
copyfrom.o \
|
|
copyfromparse.o \
|
|
copyto.o \
|
|
createas.o \
|
|
dbcommands.o \
|
|
define.o \
|
|
discard.o \
|
|
dropcmds.o \
|
|
event_trigger.o \
|
|
explain.o \
|
|
extension.o \
|
|
foreigncmds.o \
|
|
functioncmds.o \
|
|
indexcmds.o \
|
|
lockcmds.o \
|
|
matview.o \
|
|
opclasscmds.o \
|
|
operatorcmds.o \
|
|
policy.o \
|
|
portalcmds.o \
|
|
prepare.o \
|
|
proclang.o \
|
|
publicationcmds.o \
|
|
schemacmds.o \
|
|
seclabel.o \
|
|
sequence.o \
|
|
statscmds.o \
|
|
subscriptioncmds.o \
|
|
tablecmds.o \
|
|
tablespace.o \
|
|
trigger.o \
|
|
tsearchcmds.o \
|
|
typecmds.o \
|
|
user.o \
|
|
vacuum.o \
|
|
variable.o \
|
|
view.o
|
|
|
|
include $(top_srcdir)/src/backend/common.mk
|