diff --git a/build/script/cmake_package_mini.sh b/build/script/cmake_package_mini.sh index d1f2ff1db0245b386982b53bdcb72fc9c80cf794..ee207d975d4c84800bb960f28e221e2f1e8c9b56 100644 --- a/build/script/cmake_package_mini.sh +++ b/build/script/cmake_package_mini.sh @@ -48,6 +48,8 @@ elif [ X"$kernel" == X"centos" ]; then dist_version="CentOS" elif [ X"$kernel" == X"openeuler" ]; then dist_version="openEuler" +elif [ X"$kernel" == X"kylin" ]; then + dist_version="kylin" else dist_version="Platform" fi @@ -271,6 +273,13 @@ read_mpp_version if [ "$gcc_version" == "7.3.0" ]; then gcc_version=${gcc_version:0:3} +elif [ "$gcc_version" == "8.3.0" ]; then + if [ $PLATFORM_ARCH == "loongarch64" ];then + gcc_version=${gcc_version:0:3} + else + echo "Only loongarch model use gcc8.3" + exit 1 + fi elif [ "$gcc_version" == "10.3.0" ] || [ "$gcc_version" == "10.3.1" ]; then gcc_version=${gcc_version:0:4} else @@ -463,6 +472,11 @@ function install_gaussdb() if [[ -e "/etc/openEuler-release" && "$(cat /etc/openEuler-release | awk '{print $3}')" == "22.03" ]]; then CMAKE_OPT="$CMAKE_OPT -DENABLE_OPENEULER_MAJOR=ON" fi + + if [ "${PLATFORM_ARCH}"x == "loongarch64"x ]; then + CMAKE_OPT="$CMAKE_OPT -DENABLE_BBOX=OFF -DENABLE_JEMALLOC=OFF" + fi + echo "CMAKE_OPT----> $CMAKE_OPT" echo "Begin run cmake for gaussdb server" >> "$LOG_FILE" 2>&1 echo "CMake options: ${CMAKE_OPT}" >> "$LOG_FILE" 2>&1 diff --git a/build/script/loongarch64_lite_list b/build/script/loongarch64_lite_list new file mode 100644 index 0000000000000000000000000000000000000000..3d6e7578384665cc3c0680ca5f9c6b6590a1d114 --- /dev/null +++ b/build/script/loongarch64_lite_list @@ -0,0 +1,916 @@ +[server] +./bin/gsql +./bin/gaussdb +./bin/gstrace +./bin/gs_dump +./bin/gs_dumpall +./bin/gs_ctl +./bin/gs_initdb +./bin/gs_guc +./bin/gs_restore +./bin/pg_config +./bin/pg_controldata +./bin/gs_probackup +./bin/pg_resetxlog +./bin/alarmItem.conf +./bin/retry_errcodes.conf +./bin/cluster_guc.conf +./bin/lz4 +./bin/gs_plan_simulator.sh +./share/postgresql/db4ai +./share/postgresql/snowball_create.sql +./share/postgresql/pg_hba.conf.sample +./share/postgresql/gs_gazelle.conf.sample +./share/postgresql/pg_service.conf.sample +./share/postgresql/psqlrc.sample +./share/postgresql/conversion_create.sql +./share/postgresql/postgres.shdescription +./share/postgresql/pg_ident.conf.sample +./share/postgresql/postgres.description +./share/postgresql/postgresql.conf.sample +./share/postgresql/extension/plpgsql--1.0.sql +./share/postgresql/extension/hstore.control +./share/postgresql/extension/security_plugin.control +./share/postgresql/extension/security_plugin--1.0.sql +./share/postgresql/extension/dolphin.control +./share/postgresql/extension/dolphin--2.0.sql +./share/postgresql/extension/dolphin--1.0.sql +./share/postgresql/extension/dolphin--1.0--2.0.sql +./share/postgresql/extension/dolphin--2.0--1.0.sql +./share/postgresql/extension/dolphin--1.1--2.0.sql +./share/postgresql/extension/dolphin--2.0--1.1.sql +./share/postgresql/extension/openGauss_expr_dolphin.ir +./share/postgresql/extension/file_fdw--1.0.sql +./share/postgresql/extension/plpgsql.control +./share/postgresql/extension/dist_fdw.control +./share/postgresql/extension/dist_fdw--1.0.sql +./share/postgresql/extension/hstore--1.1.sql +./share/postgresql/extension/plpgsql--unpackaged--1.0.sql +./share/postgresql/extension/file_fdw.control +./share/postgresql/extension/hstore--unpackaged--1.0.sql +./share/postgresql/extension/hstore--1.0--1.1.sql +./share/postgresql/extension/log_fdw--1.0.sql +./share/postgresql/extension/log_fdw.control +./share/postgresql/timezone/GB-Eire +./share/postgresql/timezone/Turkey +./share/postgresql/timezone/Kwajalein +./share/postgresql/timezone/UCT +./share/postgresql/timezone/Mexico/BajaSur +./share/postgresql/timezone/Mexico/BajaNorte +./share/postgresql/timezone/Mexico/General +./share/postgresql/timezone/Japan +./share/postgresql/timezone/Israel +./share/postgresql/timezone/US/Eastern +./share/postgresql/timezone/US/Samoa +./share/postgresql/timezone/US/Michigan +./share/postgresql/timezone/US/Aleutian +./share/postgresql/timezone/US/Pacific +./share/postgresql/timezone/US/Pacific-New +./share/postgresql/timezone/US/Indiana-Starke +./share/postgresql/timezone/US/Mountain +./share/postgresql/timezone/US/East-Indiana +./share/postgresql/timezone/US/Hawaii +./share/postgresql/timezone/US/Arizona +./share/postgresql/timezone/US/Alaska +./share/postgresql/timezone/US/Central +./share/postgresql/timezone/Greenwich +./share/postgresql/timezone/Poland +./share/postgresql/timezone/CET +./share/postgresql/timezone/GMT-0 +./share/postgresql/timezone/Indian/Mauritius +./share/postgresql/timezone/Indian/Cocos +./share/postgresql/timezone/Indian/Reunion +./share/postgresql/timezone/Indian/Maldives +./share/postgresql/timezone/Indian/Comoro +./share/postgresql/timezone/Indian/Antananarivo +./share/postgresql/timezone/Indian/Christmas +./share/postgresql/timezone/Indian/Kerguelen +./share/postgresql/timezone/Indian/Chagos +./share/postgresql/timezone/Indian/Mayotte +./share/postgresql/timezone/Indian/Mahe +./share/postgresql/timezone/GMT0 +./share/postgresql/timezone/Antarctica/Palmer +./share/postgresql/timezone/Antarctica/Syowa +./share/postgresql/timezone/Antarctica/South_Pole +./share/postgresql/timezone/Antarctica/McMurdo +./share/postgresql/timezone/Antarctica/Rothera +./share/postgresql/timezone/Antarctica/Mawson +./share/postgresql/timezone/Antarctica/Casey +./share/postgresql/timezone/Antarctica/Davis +./share/postgresql/timezone/Antarctica/DumontDUrville +./share/postgresql/timezone/Antarctica/Vostok +./share/postgresql/timezone/Antarctica/Macquarie +./share/postgresql/timezone/ROK +./share/postgresql/timezone/Chile/EasterIsland +./share/postgresql/timezone/Chile/Continental +./share/postgresql/timezone/posixrules +./share/postgresql/timezone/Atlantic/Azores +./share/postgresql/timezone/Atlantic/St_Helena +./share/postgresql/timezone/Atlantic/Madeira +./share/postgresql/timezone/Atlantic/Jan_Mayen +./share/postgresql/timezone/Atlantic/Faroe +./share/postgresql/timezone/Atlantic/Stanley +./share/postgresql/timezone/Atlantic/Cape_Verde +./share/postgresql/timezone/Atlantic/Reykjavik +./share/postgresql/timezone/Atlantic/Canary +./share/postgresql/timezone/Atlantic/South_Georgia +./share/postgresql/timezone/Atlantic/Bermuda +./share/postgresql/timezone/Atlantic/Faeroe +./share/postgresql/timezone/Hongkong +./share/postgresql/timezone/Libya +./share/postgresql/timezone/Iceland +./share/postgresql/timezone/UTC +./share/postgresql/timezone/Australia/Darwin +./share/postgresql/timezone/Australia/North +./share/postgresql/timezone/Australia/NSW +./share/postgresql/timezone/Australia/Sydney +./share/postgresql/timezone/Australia/Hobart +./share/postgresql/timezone/Australia/LHI +./share/postgresql/timezone/Australia/Victoria +./share/postgresql/timezone/Australia/South +./share/postgresql/timezone/Australia/Melbourne +./share/postgresql/timezone/Australia/Lord_Howe +./share/postgresql/timezone/Australia/West +./share/postgresql/timezone/Australia/Brisbane +./share/postgresql/timezone/Australia/Perth +./share/postgresql/timezone/Australia/Eucla +./share/postgresql/timezone/Australia/Canberra +./share/postgresql/timezone/Australia/Queensland +./share/postgresql/timezone/Australia/Broken_Hill +./share/postgresql/timezone/Australia/Lindeman +./share/postgresql/timezone/Australia/ACT +./share/postgresql/timezone/Australia/Currie +./share/postgresql/timezone/Australia/Adelaide +./share/postgresql/timezone/Australia/Yancowinna +./share/postgresql/timezone/Australia/Tasmania +./share/postgresql/timezone/Jamaica +./share/postgresql/timezone/EST5EDT +./share/postgresql/timezone/MET +./share/postgresql/timezone/W-SU +./share/postgresql/timezone/Mideast/Riyadh87 +./share/postgresql/timezone/Mideast/Riyadh88 +./share/postgresql/timezone/Mideast/Riyadh89 +./share/postgresql/timezone/WET +./share/postgresql/timezone/ROC +./share/postgresql/timezone/Factory +./share/postgresql/timezone/EET +./share/postgresql/timezone/PST8PDT +./share/postgresql/timezone/Portugal +./share/postgresql/timezone/NZ +./share/postgresql/timezone/Brazil/West +./share/postgresql/timezone/Brazil/DeNoronha +./share/postgresql/timezone/Brazil/Acre +./share/postgresql/timezone/Brazil/East +./share/postgresql/timezone/EST +./share/postgresql/timezone/Egypt +./share/postgresql/timezone/Universal +./share/postgresql/timezone/Pacific/Enderbury +./share/postgresql/timezone/Pacific/Noumea +./share/postgresql/timezone/Pacific/Kwajalein +./share/postgresql/timezone/Pacific/Norfolk +./share/postgresql/timezone/Pacific/Nauru +./share/postgresql/timezone/Pacific/Efate +./share/postgresql/timezone/Pacific/Kosrae +./share/postgresql/timezone/Pacific/Galapagos +./share/postgresql/timezone/Pacific/Truk +./share/postgresql/timezone/Pacific/Fiji +./share/postgresql/timezone/Pacific/Auckland +./share/postgresql/timezone/Pacific/Samoa +./share/postgresql/timezone/Pacific/Port_Moresby +./share/postgresql/timezone/Pacific/Johnston +./share/postgresql/timezone/Pacific/Apia +./share/postgresql/timezone/Pacific/Tarawa +./share/postgresql/timezone/Pacific/Pitcairn +./share/postgresql/timezone/Pacific/Marquesas +./share/postgresql/timezone/Pacific/Chatham +./share/postgresql/timezone/Pacific/Tahiti +./share/postgresql/timezone/Pacific/Tongatapu +./share/postgresql/timezone/Pacific/Saipan +./share/postgresql/timezone/Pacific/Fakaofo +./share/postgresql/timezone/Pacific/Guam +./share/postgresql/timezone/Pacific/Niue +./share/postgresql/timezone/Pacific/Chuuk +./share/postgresql/timezone/Pacific/Easter +./share/postgresql/timezone/Pacific/Wallis +./share/postgresql/timezone/Pacific/Gambier +./share/postgresql/timezone/Pacific/Majuro +./share/postgresql/timezone/Pacific/Kiritimati +./share/postgresql/timezone/Pacific/Guadalcanal +./share/postgresql/timezone/Pacific/Funafuti +./share/postgresql/timezone/Pacific/Rarotonga +./share/postgresql/timezone/Pacific/Pago_Pago +./share/postgresql/timezone/Pacific/Midway +./share/postgresql/timezone/Pacific/Palau +./share/postgresql/timezone/Pacific/Honolulu +./share/postgresql/timezone/Pacific/Yap +./share/postgresql/timezone/Pacific/Pohnpei +./share/postgresql/timezone/Pacific/Wake +./share/postgresql/timezone/Pacific/Ponape +./share/postgresql/timezone/Iran +./share/postgresql/timezone/Etc/GMT-4 +./share/postgresql/timezone/Etc/GMT-9 +./share/postgresql/timezone/Etc/UCT +./share/postgresql/timezone/Etc/GMT-7 +./share/postgresql/timezone/Etc/Greenwich +./share/postgresql/timezone/Etc/GMT-0 +./share/postgresql/timezone/Etc/GMT-5 +./share/postgresql/timezone/Etc/GMT0 +./share/postgresql/timezone/Etc/GMT+7 +./share/postgresql/timezone/Etc/GMT-2 +./share/postgresql/timezone/Etc/GMT-10 +./share/postgresql/timezone/Etc/GMT+6 +./share/postgresql/timezone/Etc/GMT+1 +./share/postgresql/timezone/Etc/UTC +./share/postgresql/timezone/Etc/GMT-3 +./share/postgresql/timezone/Etc/GMT-1 +./share/postgresql/timezone/Etc/GMT-8 +./share/postgresql/timezone/Etc/GMT-11 +./share/postgresql/timezone/Etc/GMT+12 +./share/postgresql/timezone/Etc/GMT+10 +./share/postgresql/timezone/Etc/GMT-12 +./share/postgresql/timezone/Etc/GMT+5 +./share/postgresql/timezone/Etc/Universal +./share/postgresql/timezone/Etc/GMT-13 +./share/postgresql/timezone/Etc/GMT-6 +./share/postgresql/timezone/Etc/GMT+9 +./share/postgresql/timezone/Etc/GMT+3 +./share/postgresql/timezone/Etc/GMT-14 +./share/postgresql/timezone/Etc/GMT+4 +./share/postgresql/timezone/Etc/Zulu +./share/postgresql/timezone/Etc/GMT+2 +./share/postgresql/timezone/Etc/GMT+0 +./share/postgresql/timezone/Etc/GMT+8 +./share/postgresql/timezone/Etc/GMT+11 +./share/postgresql/timezone/Etc/GMT +./share/postgresql/timezone/Zulu +./share/postgresql/timezone/GMT+0 +./share/postgresql/timezone/Singapore +./share/postgresql/timezone/NZ-CHAT +./share/postgresql/timezone/Cuba +./share/postgresql/timezone/GB +./share/postgresql/timezone/Arctic/Longyearbyen +./share/postgresql/timezone/MST7MDT +./share/postgresql/timezone/PRC +./share/postgresql/timezone/Canada/Eastern +./share/postgresql/timezone/Canada/Yukon +./share/postgresql/timezone/Canada/Atlantic +./share/postgresql/timezone/Canada/Newfoundland +./share/postgresql/timezone/Canada/Saskatchewan +./share/postgresql/timezone/Canada/Pacific +./share/postgresql/timezone/Canada/Mountain +./share/postgresql/timezone/Canada/Central +./share/postgresql/timezone/CST6CDT +./share/postgresql/timezone/HST +./share/postgresql/timezone/America/Boa_Vista +./share/postgresql/timezone/America/New_York +./share/postgresql/timezone/America/Santarem +./share/postgresql/timezone/America/Boise +./share/postgresql/timezone/America/St_Lucia +./share/postgresql/timezone/America/Mendoza +./share/postgresql/timezone/America/Mexico_City +./share/postgresql/timezone/America/Chihuahua +./share/postgresql/timezone/America/Indianapolis +./share/postgresql/timezone/America/Virgin +./share/postgresql/timezone/America/Atka +./share/postgresql/timezone/America/Winnipeg +./share/postgresql/timezone/America/Hermosillo +./share/postgresql/timezone/America/Indiana/Indianapolis +./share/postgresql/timezone/America/Indiana/Tell_City +./share/postgresql/timezone/America/Indiana/Winamac +./share/postgresql/timezone/America/Indiana/Knox +./share/postgresql/timezone/America/Indiana/Vincennes +./share/postgresql/timezone/America/Indiana/Vevay +./share/postgresql/timezone/America/Indiana/Petersburg +./share/postgresql/timezone/America/Indiana/Marengo +./share/postgresql/timezone/America/Moncton +./share/postgresql/timezone/America/Campo_Grande +./share/postgresql/timezone/America/Guyana +./share/postgresql/timezone/America/Caracas +./share/postgresql/timezone/America/Maceio +./share/postgresql/timezone/America/Godthab +./share/postgresql/timezone/America/Thunder_Bay +./share/postgresql/timezone/America/Havana +./share/postgresql/timezone/America/Santiago +./share/postgresql/timezone/America/Los_Angeles +./share/postgresql/timezone/America/Buenos_Aires +./share/postgresql/timezone/America/Manaus +./share/postgresql/timezone/America/Bahia +./share/postgresql/timezone/America/North_Dakota/New_Salem +./share/postgresql/timezone/America/North_Dakota/Beulah +./share/postgresql/timezone/America/North_Dakota/Center +./share/postgresql/timezone/America/Bahia_Banderas +./share/postgresql/timezone/America/Edmonton +./share/postgresql/timezone/America/Tegucigalpa +./share/postgresql/timezone/America/Rankin_Inlet +./share/postgresql/timezone/America/Monterrey +./share/postgresql/timezone/America/Cambridge_Bay +./share/postgresql/timezone/America/Porto_Velho +./share/postgresql/timezone/America/Antigua +./share/postgresql/timezone/America/Atikokan +./share/postgresql/timezone/America/Vancouver +./share/postgresql/timezone/America/Anchorage +./share/postgresql/timezone/America/Port-au-Prince +./share/postgresql/timezone/America/Lima +./share/postgresql/timezone/America/Grenada +./share/postgresql/timezone/America/Creston +./share/postgresql/timezone/America/La_Paz +./share/postgresql/timezone/America/Panama +./share/postgresql/timezone/America/Blanc-Sablon +./share/postgresql/timezone/America/Cayenne +./share/postgresql/timezone/America/Santo_Domingo +./share/postgresql/timezone/America/Grand_Turk +./share/postgresql/timezone/America/Toronto +./share/postgresql/timezone/America/Rainy_River +./share/postgresql/timezone/America/Merida +./share/postgresql/timezone/America/Port_of_Spain +./share/postgresql/timezone/America/Nipigon +./share/postgresql/timezone/America/Jamaica +./share/postgresql/timezone/America/Rosario +./share/postgresql/timezone/America/Dawson_Creek +./share/postgresql/timezone/America/Belize +./share/postgresql/timezone/America/Costa_Rica +./share/postgresql/timezone/America/Barbados +./share/postgresql/timezone/America/Danmarkshavn +./share/postgresql/timezone/America/Argentina/La_Rioja +./share/postgresql/timezone/America/Argentina/Mendoza +./share/postgresql/timezone/America/Argentina/Buenos_Aires +./share/postgresql/timezone/America/Argentina/Tucuman +./share/postgresql/timezone/America/Argentina/Ushuaia +./share/postgresql/timezone/America/Argentina/Catamarca +./share/postgresql/timezone/America/Argentina/ComodRivadavia +./share/postgresql/timezone/America/Argentina/Jujuy +./share/postgresql/timezone/America/Argentina/Cordoba +./share/postgresql/timezone/America/Argentina/San_Luis +./share/postgresql/timezone/America/Argentina/Rio_Gallegos +./share/postgresql/timezone/America/Argentina/Salta +./share/postgresql/timezone/America/Argentina/San_Juan +./share/postgresql/timezone/America/Pangnirtung +./share/postgresql/timezone/America/Anguilla +./share/postgresql/timezone/America/Curacao +./share/postgresql/timezone/America/Cancun +./share/postgresql/timezone/America/Montreal +./share/postgresql/timezone/America/Shiprock +./share/postgresql/timezone/America/Thule +./share/postgresql/timezone/America/Scoresbysund +./share/postgresql/timezone/America/Catamarca +./share/postgresql/timezone/America/Sao_Paulo +./share/postgresql/timezone/America/Sitka +./share/postgresql/timezone/America/Asuncion +./share/postgresql/timezone/America/Regina +./share/postgresql/timezone/America/St_Johns +./share/postgresql/timezone/America/Montevideo +./share/postgresql/timezone/America/Eirunepe +./share/postgresql/timezone/America/Denver +./share/postgresql/timezone/America/Metlakatla +./share/postgresql/timezone/America/Araguaina +./share/postgresql/timezone/America/Juneau +./share/postgresql/timezone/America/Marigot +./share/postgresql/timezone/America/Menominee +./share/postgresql/timezone/America/Glace_Bay +./share/postgresql/timezone/America/Tijuana +./share/postgresql/timezone/America/Detroit +./share/postgresql/timezone/America/Belem +./share/postgresql/timezone/America/Jujuy +./share/postgresql/timezone/America/St_Thomas +./share/postgresql/timezone/America/Resolute +./share/postgresql/timezone/America/Cuiaba +./share/postgresql/timezone/America/Halifax +./share/postgresql/timezone/America/St_Barthelemy +./share/postgresql/timezone/America/Guatemala +./share/postgresql/timezone/America/Nassau +./share/postgresql/timezone/America/St_Kitts +./share/postgresql/timezone/America/Cordoba +./share/postgresql/timezone/America/Miquelon +./share/postgresql/timezone/America/Bogota +./share/postgresql/timezone/America/Rio_Branco +./share/postgresql/timezone/America/Ensenada +./share/postgresql/timezone/America/Yakutat +./share/postgresql/timezone/America/Noronha +./share/postgresql/timezone/America/Kentucky/Monticello +./share/postgresql/timezone/America/Kentucky/Louisville +./share/postgresql/timezone/America/Porto_Acre +./share/postgresql/timezone/America/Santa_Isabel +./share/postgresql/timezone/America/El_Salvador +./share/postgresql/timezone/America/Yellowknife +./share/postgresql/timezone/America/Cayman +./share/postgresql/timezone/America/Whitehorse +./share/postgresql/timezone/America/Ojinaga +./share/postgresql/timezone/America/Aruba +./share/postgresql/timezone/America/Nome +./share/postgresql/timezone/America/Fortaleza +./share/postgresql/timezone/America/Martinique +./share/postgresql/timezone/America/Recife +./share/postgresql/timezone/America/Knox_IN +./share/postgresql/timezone/America/Guayaquil +./share/postgresql/timezone/America/Goose_Bay +./share/postgresql/timezone/America/Iqaluit +./share/postgresql/timezone/America/Matamoros +./share/postgresql/timezone/America/Lower_Princes +./share/postgresql/timezone/America/Louisville +./share/postgresql/timezone/America/Coral_Harbour +./share/postgresql/timezone/America/Phoenix +./share/postgresql/timezone/America/Guadeloupe +./share/postgresql/timezone/America/Mazatlan +./share/postgresql/timezone/America/Swift_Current +./share/postgresql/timezone/America/Paramaribo +./share/postgresql/timezone/America/Dominica +./share/postgresql/timezone/America/Kralendijk +./share/postgresql/timezone/America/Montserrat +./share/postgresql/timezone/America/St_Vincent +./share/postgresql/timezone/America/Fort_Wayne +./share/postgresql/timezone/America/Dawson +./share/postgresql/timezone/America/Inuvik +./share/postgresql/timezone/America/Adak +./share/postgresql/timezone/America/Managua +./share/postgresql/timezone/America/Puerto_Rico +./share/postgresql/timezone/America/Tortola +./share/postgresql/timezone/America/Chicago +./share/postgresql/timezone/Africa/Lome +./share/postgresql/timezone/Africa/Brazzaville +./share/postgresql/timezone/Africa/Khartoum +./share/postgresql/timezone/Africa/Ceuta +./share/postgresql/timezone/Africa/Djibouti +./share/postgresql/timezone/Africa/Lagos +./share/postgresql/timezone/Africa/Accra +./share/postgresql/timezone/Africa/El_Aaiun +./share/postgresql/timezone/Africa/Malabo +./share/postgresql/timezone/Africa/Windhoek +./share/postgresql/timezone/Africa/Tripoli +./share/postgresql/timezone/Africa/Bissau +./share/postgresql/timezone/Africa/Blantyre +./share/postgresql/timezone/Africa/Kinshasa +./share/postgresql/timezone/Africa/Porto-Novo +./share/postgresql/timezone/Africa/Nairobi +./share/postgresql/timezone/Africa/Ouagadougou +./share/postgresql/timezone/Africa/Asmera +./share/postgresql/timezone/Africa/Cairo +./share/postgresql/timezone/Africa/Lubumbashi +./share/postgresql/timezone/Africa/Tunis +./share/postgresql/timezone/Africa/Dar_es_Salaam +./share/postgresql/timezone/Africa/Casablanca +./share/postgresql/timezone/Africa/Algiers +./share/postgresql/timezone/Africa/Mbabane +./share/postgresql/timezone/Africa/Monrovia +./share/postgresql/timezone/Africa/Nouakchott +./share/postgresql/timezone/Africa/Banjul +./share/postgresql/timezone/Africa/Kampala +./share/postgresql/timezone/Africa/Conakry +./share/postgresql/timezone/Africa/Mogadishu +./share/postgresql/timezone/Africa/Ndjamena +./share/postgresql/timezone/Africa/Niamey +./share/postgresql/timezone/Africa/Lusaka +./share/postgresql/timezone/Africa/Addis_Ababa +./share/postgresql/timezone/Africa/Sao_Tome +./share/postgresql/timezone/Africa/Abidjan +./share/postgresql/timezone/Africa/Harare +./share/postgresql/timezone/Africa/Asmara +./share/postgresql/timezone/Africa/Douala +./share/postgresql/timezone/Africa/Freetown +./share/postgresql/timezone/Africa/Libreville +./share/postgresql/timezone/Africa/Luanda +./share/postgresql/timezone/Africa/Maseru +./share/postgresql/timezone/Africa/Gaborone +./share/postgresql/timezone/Africa/Maputo +./share/postgresql/timezone/Africa/Timbuktu +./share/postgresql/timezone/Africa/Bangui +./share/postgresql/timezone/Africa/Bamako +./share/postgresql/timezone/Africa/Dakar +./share/postgresql/timezone/Africa/Juba +./share/postgresql/timezone/Africa/Bujumbura +./share/postgresql/timezone/Africa/Johannesburg +./share/postgresql/timezone/Africa/Kigali +./share/postgresql/timezone/Eire +./share/postgresql/timezone/Europe/Vaduz +./share/postgresql/timezone/Europe/Podgorica +./share/postgresql/timezone/Europe/Rome +./share/postgresql/timezone/Europe/Vienna +./share/postgresql/timezone/Europe/Dublin +./share/postgresql/timezone/Europe/Zurich +./share/postgresql/timezone/Europe/London +./share/postgresql/timezone/Europe/Monaco +./share/postgresql/timezone/Europe/Sofia +./share/postgresql/timezone/Europe/Uzhgorod +./share/postgresql/timezone/Europe/Minsk +./share/postgresql/timezone/Europe/Malta +./share/postgresql/timezone/Europe/Busingen +./share/postgresql/timezone/Europe/Gibraltar +./share/postgresql/timezone/Europe/Volgograd +./share/postgresql/timezone/Europe/Budapest +./share/postgresql/timezone/Europe/Vatican +./share/postgresql/timezone/Europe/Luxembourg +./share/postgresql/timezone/Europe/Chisinau +./share/postgresql/timezone/Europe/Nicosia +./share/postgresql/timezone/Europe/Warsaw +./share/postgresql/timezone/Europe/San_Marino +./share/postgresql/timezone/Europe/Copenhagen +./share/postgresql/timezone/Europe/Ljubljana +./share/postgresql/timezone/Europe/Athens +./share/postgresql/timezone/Europe/Skopje +./share/postgresql/timezone/Europe/Andorra +./share/postgresql/timezone/Europe/Kaliningrad +./share/postgresql/timezone/Europe/Amsterdam +./share/postgresql/timezone/Europe/Guernsey +./share/postgresql/timezone/Europe/Isle_of_Man +./share/postgresql/timezone/Europe/Tirane +./share/postgresql/timezone/Europe/Jersey +./share/postgresql/timezone/Europe/Madrid +./share/postgresql/timezone/Europe/Helsinki +./share/postgresql/timezone/Europe/Riga +./share/postgresql/timezone/Europe/Zagreb +./share/postgresql/timezone/Europe/Bratislava +./share/postgresql/timezone/Europe/Prague +./share/postgresql/timezone/Europe/Tallinn +./share/postgresql/timezone/Europe/Stockholm +./share/postgresql/timezone/Europe/Tiraspol +./share/postgresql/timezone/Europe/Belgrade +./share/postgresql/timezone/Europe/Bucharest +./share/postgresql/timezone/Europe/Vilnius +./share/postgresql/timezone/Europe/Sarajevo +./share/postgresql/timezone/Europe/Belfast +./share/postgresql/timezone/Europe/Zaporozhye +./share/postgresql/timezone/Europe/Oslo +./share/postgresql/timezone/Europe/Mariehamn +./share/postgresql/timezone/Europe/Moscow +./share/postgresql/timezone/Europe/Brussels +./share/postgresql/timezone/Europe/Paris +./share/postgresql/timezone/Europe/Istanbul +./share/postgresql/timezone/Europe/Simferopol +./share/postgresql/timezone/Europe/Lisbon +./share/postgresql/timezone/Europe/Berlin +./share/postgresql/timezone/Europe/Kiev +./share/postgresql/timezone/Europe/Samara +./share/postgresql/timezone/MST +./share/postgresql/timezone/Asia/Khandyga +./share/postgresql/timezone/Asia/Manila +./share/postgresql/timezone/Asia/Novokuznetsk +./share/postgresql/timezone/Asia/Baghdad +./share/postgresql/timezone/Asia/Macau +./share/postgresql/timezone/Asia/Urumqi +./share/postgresql/timezone/Asia/Ujung_Pandang +./share/postgresql/timezone/Asia/Ulan_Bator +./share/postgresql/timezone/Asia/Bishkek +./share/postgresql/timezone/Asia/Qatar +./share/postgresql/timezone/Asia/Qyzylorda +./share/postgresql/timezone/Asia/Calcutta +./share/postgresql/timezone/Asia/Riyadh87 +./share/postgresql/timezone/Asia/Dushanbe +./share/postgresql/timezone/Asia/Yekaterinburg +./share/postgresql/timezone/Asia/Dhaka +./share/postgresql/timezone/Asia/Jakarta +./share/postgresql/timezone/Asia/Shanghai +./share/postgresql/timezone/Asia/Ulaanbaatar +./share/postgresql/timezone/Asia/Jerusalem +./share/postgresql/timezone/Asia/Ashkhabad +./share/postgresql/timezone/Asia/Tokyo +./share/postgresql/timezone/Asia/Macao +./share/postgresql/timezone/Asia/Krasnoyarsk +./share/postgresql/timezone/Asia/Saigon +./share/postgresql/timezone/Asia/Omsk +./share/postgresql/timezone/Asia/Damascus +./share/postgresql/timezone/Asia/Phnom_Penh +./share/postgresql/timezone/Asia/Bangkok +./share/postgresql/timezone/Asia/Kamchatka +./share/postgresql/timezone/Asia/Choibalsan +./share/postgresql/timezone/Asia/Ust-Nera +./share/postgresql/timezone/Asia/Aden +./share/postgresql/timezone/Asia/Vientiane +./share/postgresql/timezone/Asia/Sakhalin +./share/postgresql/timezone/Asia/Ashgabat +./share/postgresql/timezone/Asia/Katmandu +./share/postgresql/timezone/Asia/Almaty +./share/postgresql/timezone/Asia/Baku +./share/postgresql/timezone/Asia/Nicosia +./share/postgresql/timezone/Asia/Riyadh88 +./share/postgresql/timezone/Asia/Kashgar +./share/postgresql/timezone/Asia/Riyadh89 +./share/postgresql/timezone/Asia/Taipei +./share/postgresql/timezone/Asia/Tehran +./share/postgresql/timezone/Asia/Kabul +./share/postgresql/timezone/Asia/Samarkand +./share/postgresql/timezone/Asia/Kuala_Lumpur +./share/postgresql/timezone/Asia/Tashkent +./share/postgresql/timezone/Asia/Thimbu +./share/postgresql/timezone/Asia/Thimphu +./share/postgresql/timezone/Asia/Yerevan +./share/postgresql/timezone/Asia/Chungking +./share/postgresql/timezone/Asia/Hebron +./share/postgresql/timezone/Asia/Karachi +./share/postgresql/timezone/Asia/Kolkata +./share/postgresql/timezone/Asia/Aqtobe +./share/postgresql/timezone/Asia/Muscat +./share/postgresql/timezone/Asia/Hong_Kong +./share/postgresql/timezone/Asia/Chongqing +./share/postgresql/timezone/Asia/Oral +./share/postgresql/timezone/Asia/Pontianak +./share/postgresql/timezone/Asia/Colombo +./share/postgresql/timezone/Asia/Pyongyang +./share/postgresql/timezone/Asia/Hovd +./share/postgresql/timezone/Asia/Kuwait +./share/postgresql/timezone/Asia/Anadyr +./share/postgresql/timezone/Asia/Kathmandu +./share/postgresql/timezone/Asia/Irkutsk +./share/postgresql/timezone/Asia/Bahrain +./share/postgresql/timezone/Asia/Dubai +./share/postgresql/timezone/Asia/Jayapura +./share/postgresql/timezone/Asia/Riyadh +./share/postgresql/timezone/Asia/Ho_Chi_Minh +./share/postgresql/timezone/Asia/Singapore +./share/postgresql/timezone/Asia/Tel_Aviv +./share/postgresql/timezone/Asia/Dili +./share/postgresql/timezone/Asia/Rangoon +./share/postgresql/timezone/Asia/Harbin +./share/postgresql/timezone/Asia/Yakutsk +./share/postgresql/timezone/Asia/Magadan +./share/postgresql/timezone/Asia/Amman +./share/postgresql/timezone/Asia/Kuching +./share/postgresql/timezone/Asia/Novosibirsk +./share/postgresql/timezone/Asia/Seoul +./share/postgresql/timezone/Asia/Dacca +./share/postgresql/timezone/Asia/Vladivostok +./share/postgresql/timezone/Asia/Istanbul +./share/postgresql/timezone/Asia/Beirut +./share/postgresql/timezone/Asia/Aqtau +./share/postgresql/timezone/Asia/Brunei +./share/postgresql/timezone/Asia/Gaza +./share/postgresql/timezone/Asia/Tbilisi +./share/postgresql/timezone/Asia/Makassar +./share/postgresql/timezone/Asia/Beijing +./share/postgresql/timezone/Navajo +./share/postgresql/timezone/GMT +./share/postgresql/system_views.sql +./share/postgresql/private_system_views.sql +./share/postgresql/performance_views.sql +./share/postgresql/sql_features.txt +./share/postgresql/pg_cast_oid.txt +./share/postgresql/recovery.conf.sample +./share/postgresql/tsearch_data/english.stop +./share/postgresql/tsearch_data/dutch.stop +./share/postgresql/tsearch_data/hungarian.stop +./share/postgresql/tsearch_data/french.stop +./share/postgresql/tsearch_data/synonym_sample.syn +./share/postgresql/tsearch_data/turkish.stop +./share/postgresql/tsearch_data/portuguese.stop +./share/postgresql/tsearch_data/spanish.stop +./share/postgresql/tsearch_data/hunspell_sample.affix +./share/postgresql/tsearch_data/ispell_sample.affix +./share/postgresql/tsearch_data/danish.stop +./share/postgresql/tsearch_data/german.stop +./share/postgresql/tsearch_data/thesaurus_sample.ths +./share/postgresql/tsearch_data/norwegian.stop +./share/postgresql/tsearch_data/finnish.stop +./share/postgresql/tsearch_data/russian.stop +./share/postgresql/tsearch_data/swedish.stop +./share/postgresql/tsearch_data/ispell_sample.dict +./share/postgresql/tsearch_data/italian.stop +./share/postgresql/information_schema.sql +./share/postgresql/timezonesets/Antarctica.txt +./share/postgresql/timezonesets/Australia.txt +./share/postgresql/timezonesets/Europe.txt +./share/postgresql/timezonesets/America.txt +./share/postgresql/timezonesets/Australia +./share/postgresql/timezonesets/Indian.txt +./share/postgresql/timezonesets/India +./share/postgresql/timezonesets/Pacific.txt +./share/postgresql/timezonesets/Atlantic.txt +./share/postgresql/timezonesets/Africa.txt +./share/postgresql/timezonesets/Asia.txt +./share/postgresql/timezonesets/Default +./share/postgresql/timezonesets/Etc.txt +./share/postgresql/postgres.bki +./share/sslcert/gsql/openssl.cnf +./lib/libnuma.so* +./lib/libpq.so +./lib/libpq.so.5 +./lib/libpq.so.5.5 +./lib/libssl.so* +./lib/libcrypto.so* +./lib/libcgroup.so* +./lib/libz.so* +./lib/liblz4.so* +./lib/libcjson.so* +./lib/libcjson_utils.so* +./lib/libstdc++.so.6 +./lib/libgcc_s.so.1 +./lib/libgomp.so* +./lib/libdcf.so +./lib/libzstd.so* +./lib/libcurl.so* +./lib/libxgboost.so +./lib/libpagecompression.so* +./lib/postgresql/latin2_and_win1250.so +./lib/postgresql/euc2004_sjis2004.so +./lib/postgresql/euc_kr_and_mic.so +./lib/postgresql/utf8_and_uhc.so +./lib/postgresql/euc_tw_and_big5.so +./lib/postgresql/cyrillic_and_mic.so +./lib/postgresql/utf8_and_johab.so +./lib/postgresql/utf8_and_gb18030.so +./lib/postgresql/pgxs/config/install-sh +./lib/postgresql/euc_cn_and_mic.so +./lib/postgresql/latin_and_mic.so +./lib/postgresql/utf8_and_sjis2004.so +./lib/postgresql/utf8_and_euc_jp.so +./lib/postgresql/utf8_and_sjis.so +./lib/postgresql/utf8_and_cyrillic.so +./lib/postgresql/hstore.so +./lib/postgresql/packages.so +./lib/postgresql/utf8_and_euc_kr.so +./lib/postgresql/ascii_and_mic.so +./lib/postgresql/utf8_and_iso8859_1.so +./lib/postgresql/euc_jp_and_sjis.so +./lib/postgresql/dict_snowball.so +./lib/postgresql/utf8_and_ascii.so +./lib/postgresql/utf8_and_euc_tw.so +./lib/postgresql/utf8_and_iso8859.so +./lib/postgresql/utf8_and_win.so +./lib/postgresql/utf8_and_euc_cn.so +./lib/postgresql/utf8_and_gbk.so +./lib/postgresql/utf8_and_euc2004.so +./lib/postgresql/utf8_and_big5.so +./lib/postgresql/mppdb_decoding.so +./lib/postgresql/sql_decoding.so +./lib/postgresql/pg_plugin +./lib/postgresql/proc_srclib +./lib/postgresql/security_plugin.so +./lib/postgresql/dolphin.so +./lib/postgresql/pg_upgrade_support.so +./lib/postgresql/latin2_and_win1250.so +./lib/postgresql/euc2004_sjis2004.so +./lib/postgresql/pgoutput.so +./include/postgresql/server/postgres_ext.h +./include/postgresql/server/pg_config_os.h +./include/postgresql/server/pgtime.h +./include/postgresql/server/datatypes.h +./include/postgresql/server/client_logic/client_logic_enums.h +./include/postgresql/server/libpq/libpq-fs.h +./include/postgresql/server/nodes/primnodes.h +./include/postgresql/server/nodes/parsenodes.h +./include/postgresql/server/nodes/parsenodes_common.h +./include/postgresql/server/nodes/bitmapset.h +./include/postgresql/server/nodes/pg_list.h +./include/postgresql/server/nodes/value.h +./include/postgresql/server/nodes/nodes.h +./include/postgresql/server/utils/sortsupport.h +./include/postgresql/server/utils/varbit.h +./include/postgresql/server/utils/spccache.h +./include/postgresql/server/utils/rangetypes.h +./include/postgresql/server/utils/plpgsql.h +./include/postgresql/server/utils/memtrack.h +./include/postgresql/server/utils/pg_locale.h +./include/postgresql/server/utils/tzparser.h +./include/postgresql/server/utils/syscall_lock.h +./include/postgresql/server/utils/partitionmap.h +./include/postgresql/server/utils/array.h +./include/postgresql/server/utils/relmapper.h +./include/postgresql/server/utils/hsearch.h +./include/postgresql/server/utils/xml.h +./include/postgresql/server/utils/bytea.h +./include/postgresql/server/utils/relcache.h +./include/postgresql/server/utils/pg_rusage.h +./include/postgresql/server/utils/numeric.h +./include/postgresql/server/utils/mmpool.h +./include/postgresql/server/utils/nabstime.h +./include/postgresql/server/utils/fmgrtab.h +./include/postgresql/server/utils/snapmgr.h +./include/postgresql/server/utils/syscache.h +./include/postgresql/server/utils/logtape.h +./include/postgresql/server/utils/datum.h +./include/postgresql/server/utils/guc_tables.h +./include/postgresql/server/utils/snapshot.h +./include/postgresql/server/utils/geo_decls.h +./include/postgresql/server/utils/errcodes.h +./include/postgresql/server/utils/inval.h +./include/postgresql/server/utils/help_config.h +./include/postgresql/server/utils/distribute_test.h +./include/postgresql/server/utils/aiomem.h +./include/postgresql/server/utils/tuplestore.h +./include/postgresql/server/utils/rbtree.h +./include/postgresql/server/utils/gs_bitmap.h +./include/postgresql/server/utils/tuplesort.h +./include/postgresql/server/utils/ps_status.h +./include/postgresql/server/utils/palloc.h +./include/postgresql/server/utils/reltrigger.h +./include/postgresql/server/utils/acl.h +./include/postgresql/server/utils/ascii.h +./include/postgresql/server/utils/selfuncs.h +./include/postgresql/server/utils/json.h +./include/postgresql/server/utils/portal.h +./include/postgresql/server/utils/atomic.h +./include/postgresql/server/utils/elog.h +./include/postgresql/server/utils/date.h +./include/postgresql/server/utils/plancache.h +./include/postgresql/server/utils/int8.h +./include/postgresql/server/utils/timestamp.h +./include/postgresql/server/utils/bloom_filter.h +./include/postgresql/server/utils/fmgroids.h +./include/postgresql/server/utils/pg_crc_tables.h +./include/postgresql/server/utils/probes.h +./include/postgresql/server/utils/datetime.h +./include/postgresql/server/utils/inet.h +./include/postgresql/server/utils/pg_lzcompress.h +./include/postgresql/server/utils/pg_crc.h +./include/postgresql/server/utils/attoptcache.h +./include/postgresql/server/utils/dynahash.h +./include/postgresql/server/utils/rel.h +./include/postgresql/server/utils/partcache.h +./include/postgresql/server/utils/lsyscache.h +./include/postgresql/server/utils/memutils.h +./include/postgresql/server/utils/memprot.h +./include/postgresql/server/utils/uuid.h +./include/postgresql/server/utils/combocid.h +./include/postgresql/server/utils/builtins.h +./include/postgresql/server/utils/guc.h +./include/postgresql/server/utils/dfs_vector.h +./include/postgresql/server/utils/dynamic_loader.h +./include/postgresql/server/utils/resowner.h +./include/postgresql/server/utils/aes.h +./include/postgresql/server/utils/cash.h +./include/postgresql/server/utils/typcache.h +./include/postgresql/server/utils/formatting.h +./include/postgresql/server/utils/partitionkey.h +./include/postgresql/server/utils/aset.h +./include/postgresql/server/utils/catcache.h +./include/postgresql/server/utils/atomic_arm.h +./include/postgresql/server/utils/oidrbtree.h +./include/postgresql/server/datatype/timestamp.h +./include/postgresql/server/access/rmgr.h +./include/postgresql/server/access/xlogreader.h +./include/postgresql/server/access/xlog_basic.h +./include/postgresql/server/access/tupdesc.h +./include/postgresql/server/access/rmgrlist.h +./include/postgresql/server/access/htup.h +./include/postgresql/server/access/xlogdefs.h +./include/postgresql/server/access/attnum.h +./include/postgresql/server/access/tupmacs.h +./include/postgresql/server/access/xlogrecord.h +./include/postgresql/server/tde_key_management/data_common.h +./include/postgresql/server/tcop/dest.h +./include/postgresql/server/catalog/pg_type.h +./include/postgresql/server/catalog/pg_attribute.h +./include/postgresql/server/catalog/genbki.h +./include/postgresql/server/gs_thread.h +./include/postgresql/server/port/pg_bswap.h +./include/postgresql/server/port/pg_crc32c.h +./include/postgresql/server/securec.h +./include/postgresql/server/securectype.h +./include/postgresql/server/storage/off.h +./include/postgresql/server/storage/buf/block.h +./include/postgresql/server/storage/item/item.h +./include/postgresql/server/storage/smgr/relfilenode.h +./include/postgresql/server/storage/buf/bufpage.h +./include/postgresql/server/storage/spin.h +./include/postgresql/server/storage/buf/buf.h +./include/postgresql/server/storage/item/itemid.h +./include/postgresql/server/storage/lock/pg_sema.h +./include/postgresql/server/storage/item/itemptr.h +./include/postgresql/server/storage/lock/s_lock.h +./include/postgresql/server/storage/backendid.h +./include/postgresql/server/storage/lock/lock.h +./include/postgresql/server/storage/lock/lwlock.h +./include/postgresql/server/storage/lwlocknames.h +./include/postgresql/server/storage/barrier.h +./include/postgresql/server/storage/shmem.h +./include/postgresql/server/pg_config.h +./include/postgresql/server/lib/stringinfo.h +./include/postgresql/server/fmgr.h +./include/postgresql/server/fmgr/fmgr_comp.h +./include/postgresql/server/fmgr/fmgr_core.h +./include/postgresql/server/gs_threadlocal.h +./include/postgresql/server/postgres.h +./include/postgresql/server/executor/tuptable.h +./include/postgresql/server/pg_config_manual.h +./include/postgresql/server/mb/pg_wchar.h +./include/postgresql/server/c.h +./include/postgresql/server/port.h +./include/postgresql/server/utils/be_module.h +./include/postgresql/server/nodes/params.h +./include/postgresql/server/securec_check.h +./include/postgresql/server/nodes/memnodes.h +./include/postgresql/server/access/skey.h +./include/postgresql/server/lib/dllist.h +./include/postgresql/server/lib/ilist.h +./include/postgresql/server/pgxc/locator.h +./include/postgresql/server/gstrace/gstrace_infra.h +./include/postgresql/server/db4ai/db4ai.h +[libpq] +./lib/libpq.so +./lib/libpq.so.5 +./lib/libpq.so.5.5 +./lib/libcrypto.so* +./lib/libssl.so* +[header] +./include/libpq/libpq-fs.h +./include/libpq-fe.h +./include/postgres_ext.h +./include/gs_thread.h +./include/gs_threadlocal.h +./include/pg_config.h +./include/pg_config_manual.h +./include/pg_config_os.h +./include/c.h +./include/port.h +./include/libpq-int.h +./include/pqcomm.h +./include/pqexpbuffer.h +[version] +5.1.0 diff --git a/build/script/loongarch64_opengauss_list b/build/script/loongarch64_opengauss_list new file mode 100644 index 0000000000000000000000000000000000000000..e776d1ee962e99511624f94450c8474b9a47beb0 --- /dev/null +++ b/build/script/loongarch64_opengauss_list @@ -0,0 +1,1448 @@ +[server] +./bin/dsscmd +./bin/dssserver +./bin/perctrl +./bin/dms_contrl.sh +./bin/dss_clear.sh +./bin/dss_contrl.sh +./bin/gsql +./bin/gaussdb +./bin/gstrace +./bin/gs_basebackup +./bin/gs_probackup +./bin/gs_tar +./bin/gs_encrypt +./bin/gs_dump +./bin/gs_dumpall +./bin/gs_ctl +./bin/gs_initdb +./bin/gs_guc +./bin/encrypt +./bin/openssl +./bin/gs_restore +./bin/gs_cgroup +./bin/openssl +./bin/pg_config +./bin/pg_controldata +./bin/pg_format_cu +./bin/pg_resetxlog +./bin/pg_recvlogical +./bin/alarmItem.conf +./bin/retry_errcodes.conf +./bin/cluster_guc.conf +./bin/bind_net_irq.sh +./bin/setArmOptimization.sh +./bin/krb5kdc +./bin/klist +./bin/kinit +./bin/kdestroy +./bin/kdb5_util +./bin/kadmin.local +./bin/lz4 +./bin/kadmind +./bin/gs_dbmind +./bin/constant +./bin/server.key.cipher +./bin/server.key.rand +./bin/gs_plan_simulator.sh +./bin/pg_xlogdump +./bin/pagehack +./bin/assessment_database +./etc/kerberos/kadm5.acl +./etc/kerberos/kdc.conf +./etc/kerberos/krb5.conf +./etc/kerberos/mppdb-site.xml +./share/postgresql/tmp/udstools.py +./share/postgresql/db4ai +./share/postgresql/snowball_create.sql +./share/postgresql/pg_hba.conf.sample +./share/postgresql/gs_gazelle.conf.sample +./share/postgresql/pg_service.conf.sample +./share/postgresql/psqlrc.sample +./share/postgresql/conversion_create.sql +./share/postgresql/postgres.shdescription +./share/postgresql/pg_ident.conf.sample +./share/postgresql/postgres.description +./share/postgresql/postgresql.conf.sample +./share/postgresql/mot.conf.sample +./share/postgresql/extension/plpgsql--1.0.sql +./share/postgresql/extension/hstore.control +./share/postgresql/extension/security_plugin.control +./share/postgresql/extension/security_plugin--1.0.sql +./share/postgresql/extension/ndpplugin.control +./share/postgresql/extension/ndpplugin--1.0.sql +./share/postgresql/extension/dolphin.control +./share/postgresql/extension/dolphin--2.0.sql +./share/postgresql/extension/dolphin--1.0.sql +./share/postgresql/extension/dolphin--1.0--2.0.sql +./share/postgresql/extension/dolphin--2.0--1.0.sql +./share/postgresql/extension/dolphin--1.1--2.0.sql +./share/postgresql/extension/dolphin--2.0--1.1.sql +./share/postgresql/extension/openGauss_expr_dolphin.ir +./share/postgresql/extension/assessment--1.0.sql +./share/postgresql/extension/assessment.control +./share/postgresql/extension/file_fdw--1.0.sql +./share/postgresql/extension/plpgsql.control +./share/postgresql/extension/dist_fdw.control +./share/postgresql/extension/dist_fdw--1.0.sql +./share/postgresql/extension/hstore--1.1.sql +./share/postgresql/extension/plpgsql--unpackaged--1.0.sql +./share/postgresql/extension/file_fdw.control +./share/postgresql/extension/hstore--unpackaged--1.0.sql +./share/postgresql/extension/hstore--1.0--1.1.sql +./share/postgresql/extension/log_fdw--1.0.sql +./share/postgresql/extension/log_fdw.control +./share/postgresql/extension/mot_fdw--1.0.sql +./share/postgresql/extension/mot_fdw.control +./share/postgresql/extension/postgres_fdw--1.0.sql +./share/postgresql/extension/postgres_fdw.control +./share/postgresql/extension/dblink--1.0.sql +./share/postgresql/extension/dblink--unpackaged--1.0.sql +./share/postgresql/extension/dblink.control +./share/postgresql/timezone/GB-Eire +./share/postgresql/timezone/Turkey +./share/postgresql/timezone/Kwajalein +./share/postgresql/timezone/UCT +./share/postgresql/timezone/Mexico/BajaSur +./share/postgresql/timezone/Mexico/BajaNorte +./share/postgresql/timezone/Mexico/General +./share/postgresql/timezone/Japan +./share/postgresql/timezone/Israel +./share/postgresql/timezone/US/Eastern +./share/postgresql/timezone/US/Samoa +./share/postgresql/timezone/US/Michigan +./share/postgresql/timezone/US/Aleutian +./share/postgresql/timezone/US/Pacific +./share/postgresql/timezone/US/Pacific-New +./share/postgresql/timezone/US/Indiana-Starke +./share/postgresql/timezone/US/Mountain +./share/postgresql/timezone/US/East-Indiana +./share/postgresql/timezone/US/Hawaii +./share/postgresql/timezone/US/Arizona +./share/postgresql/timezone/US/Alaska +./share/postgresql/timezone/US/Central +./share/postgresql/timezone/Greenwich +./share/postgresql/timezone/Poland +./share/postgresql/timezone/CET +./share/postgresql/timezone/GMT-0 +./share/postgresql/timezone/Indian/Mauritius +./share/postgresql/timezone/Indian/Cocos +./share/postgresql/timezone/Indian/Reunion +./share/postgresql/timezone/Indian/Maldives +./share/postgresql/timezone/Indian/Comoro +./share/postgresql/timezone/Indian/Antananarivo +./share/postgresql/timezone/Indian/Christmas +./share/postgresql/timezone/Indian/Kerguelen +./share/postgresql/timezone/Indian/Chagos +./share/postgresql/timezone/Indian/Mayotte +./share/postgresql/timezone/Indian/Mahe +./share/postgresql/timezone/GMT0 +./share/postgresql/timezone/Antarctica/Palmer +./share/postgresql/timezone/Antarctica/Syowa +./share/postgresql/timezone/Antarctica/South_Pole +./share/postgresql/timezone/Antarctica/McMurdo +./share/postgresql/timezone/Antarctica/Rothera +./share/postgresql/timezone/Antarctica/Mawson +./share/postgresql/timezone/Antarctica/Casey +./share/postgresql/timezone/Antarctica/Davis +./share/postgresql/timezone/Antarctica/DumontDUrville +./share/postgresql/timezone/Antarctica/Vostok +./share/postgresql/timezone/Antarctica/Macquarie +./share/postgresql/timezone/ROK +./share/postgresql/timezone/Chile/EasterIsland +./share/postgresql/timezone/Chile/Continental +./share/postgresql/timezone/posixrules +./share/postgresql/timezone/Atlantic/Azores +./share/postgresql/timezone/Atlantic/St_Helena +./share/postgresql/timezone/Atlantic/Madeira +./share/postgresql/timezone/Atlantic/Jan_Mayen +./share/postgresql/timezone/Atlantic/Faroe +./share/postgresql/timezone/Atlantic/Stanley +./share/postgresql/timezone/Atlantic/Cape_Verde +./share/postgresql/timezone/Atlantic/Reykjavik +./share/postgresql/timezone/Atlantic/Canary +./share/postgresql/timezone/Atlantic/South_Georgia +./share/postgresql/timezone/Atlantic/Bermuda +./share/postgresql/timezone/Atlantic/Faeroe +./share/postgresql/timezone/Hongkong +./share/postgresql/timezone/Libya +./share/postgresql/timezone/Iceland +./share/postgresql/timezone/UTC +./share/postgresql/timezone/Australia/Darwin +./share/postgresql/timezone/Australia/North +./share/postgresql/timezone/Australia/NSW +./share/postgresql/timezone/Australia/Sydney +./share/postgresql/timezone/Australia/Hobart +./share/postgresql/timezone/Australia/LHI +./share/postgresql/timezone/Australia/Victoria +./share/postgresql/timezone/Australia/South +./share/postgresql/timezone/Australia/Melbourne +./share/postgresql/timezone/Australia/Lord_Howe +./share/postgresql/timezone/Australia/West +./share/postgresql/timezone/Australia/Brisbane +./share/postgresql/timezone/Australia/Perth +./share/postgresql/timezone/Australia/Eucla +./share/postgresql/timezone/Australia/Canberra +./share/postgresql/timezone/Australia/Queensland +./share/postgresql/timezone/Australia/Broken_Hill +./share/postgresql/timezone/Australia/Lindeman +./share/postgresql/timezone/Australia/ACT +./share/postgresql/timezone/Australia/Currie +./share/postgresql/timezone/Australia/Adelaide +./share/postgresql/timezone/Australia/Yancowinna +./share/postgresql/timezone/Australia/Tasmania +./share/postgresql/timezone/Jamaica +./share/postgresql/timezone/EST5EDT +./share/postgresql/timezone/MET +./share/postgresql/timezone/W-SU +./share/postgresql/timezone/Mideast/Riyadh87 +./share/postgresql/timezone/Mideast/Riyadh88 +./share/postgresql/timezone/Mideast/Riyadh89 +./share/postgresql/timezone/WET +./share/postgresql/timezone/ROC +./share/postgresql/timezone/Factory +./share/postgresql/timezone/EET +./share/postgresql/timezone/PST8PDT +./share/postgresql/timezone/Portugal +./share/postgresql/timezone/NZ +./share/postgresql/timezone/Brazil/West +./share/postgresql/timezone/Brazil/DeNoronha +./share/postgresql/timezone/Brazil/Acre +./share/postgresql/timezone/Brazil/East +./share/postgresql/timezone/EST +./share/postgresql/timezone/Egypt +./share/postgresql/timezone/Universal +./share/postgresql/timezone/Pacific/Enderbury +./share/postgresql/timezone/Pacific/Noumea +./share/postgresql/timezone/Pacific/Kwajalein +./share/postgresql/timezone/Pacific/Norfolk +./share/postgresql/timezone/Pacific/Nauru +./share/postgresql/timezone/Pacific/Efate +./share/postgresql/timezone/Pacific/Kosrae +./share/postgresql/timezone/Pacific/Galapagos +./share/postgresql/timezone/Pacific/Truk +./share/postgresql/timezone/Pacific/Fiji +./share/postgresql/timezone/Pacific/Auckland +./share/postgresql/timezone/Pacific/Samoa +./share/postgresql/timezone/Pacific/Port_Moresby +./share/postgresql/timezone/Pacific/Johnston +./share/postgresql/timezone/Pacific/Apia +./share/postgresql/timezone/Pacific/Tarawa +./share/postgresql/timezone/Pacific/Pitcairn +./share/postgresql/timezone/Pacific/Marquesas +./share/postgresql/timezone/Pacific/Chatham +./share/postgresql/timezone/Pacific/Tahiti +./share/postgresql/timezone/Pacific/Tongatapu +./share/postgresql/timezone/Pacific/Saipan +./share/postgresql/timezone/Pacific/Fakaofo +./share/postgresql/timezone/Pacific/Guam +./share/postgresql/timezone/Pacific/Niue +./share/postgresql/timezone/Pacific/Chuuk +./share/postgresql/timezone/Pacific/Easter +./share/postgresql/timezone/Pacific/Wallis +./share/postgresql/timezone/Pacific/Gambier +./share/postgresql/timezone/Pacific/Majuro +./share/postgresql/timezone/Pacific/Kiritimati +./share/postgresql/timezone/Pacific/Guadalcanal +./share/postgresql/timezone/Pacific/Funafuti +./share/postgresql/timezone/Pacific/Rarotonga +./share/postgresql/timezone/Pacific/Pago_Pago +./share/postgresql/timezone/Pacific/Midway +./share/postgresql/timezone/Pacific/Palau +./share/postgresql/timezone/Pacific/Honolulu +./share/postgresql/timezone/Pacific/Yap +./share/postgresql/timezone/Pacific/Pohnpei +./share/postgresql/timezone/Pacific/Wake +./share/postgresql/timezone/Pacific/Ponape +./share/postgresql/timezone/Iran +./share/postgresql/timezone/Etc/GMT-4 +./share/postgresql/timezone/Etc/GMT-9 +./share/postgresql/timezone/Etc/UCT +./share/postgresql/timezone/Etc/GMT-7 +./share/postgresql/timezone/Etc/Greenwich +./share/postgresql/timezone/Etc/GMT-0 +./share/postgresql/timezone/Etc/GMT-5 +./share/postgresql/timezone/Etc/GMT0 +./share/postgresql/timezone/Etc/GMT+7 +./share/postgresql/timezone/Etc/GMT-2 +./share/postgresql/timezone/Etc/GMT-10 +./share/postgresql/timezone/Etc/GMT+6 +./share/postgresql/timezone/Etc/GMT+1 +./share/postgresql/timezone/Etc/UTC +./share/postgresql/timezone/Etc/GMT-3 +./share/postgresql/timezone/Etc/GMT-1 +./share/postgresql/timezone/Etc/GMT-8 +./share/postgresql/timezone/Etc/GMT-11 +./share/postgresql/timezone/Etc/GMT+12 +./share/postgresql/timezone/Etc/GMT+10 +./share/postgresql/timezone/Etc/GMT-12 +./share/postgresql/timezone/Etc/GMT+5 +./share/postgresql/timezone/Etc/Universal +./share/postgresql/timezone/Etc/GMT-13 +./share/postgresql/timezone/Etc/GMT-6 +./share/postgresql/timezone/Etc/GMT+9 +./share/postgresql/timezone/Etc/GMT+3 +./share/postgresql/timezone/Etc/GMT-14 +./share/postgresql/timezone/Etc/GMT+4 +./share/postgresql/timezone/Etc/Zulu +./share/postgresql/timezone/Etc/GMT+2 +./share/postgresql/timezone/Etc/GMT+0 +./share/postgresql/timezone/Etc/GMT+8 +./share/postgresql/timezone/Etc/GMT+11 +./share/postgresql/timezone/Etc/GMT +./share/postgresql/timezone/Zulu +./share/postgresql/timezone/GMT+0 +./share/postgresql/timezone/Singapore +./share/postgresql/timezone/NZ-CHAT +./share/postgresql/timezone/Cuba +./share/postgresql/timezone/GB +./share/postgresql/timezone/Arctic/Longyearbyen +./share/postgresql/timezone/MST7MDT +./share/postgresql/timezone/PRC +./share/postgresql/timezone/Canada/Eastern +./share/postgresql/timezone/Canada/Yukon +./share/postgresql/timezone/Canada/Atlantic +./share/postgresql/timezone/Canada/Newfoundland +./share/postgresql/timezone/Canada/Saskatchewan +./share/postgresql/timezone/Canada/Pacific +./share/postgresql/timezone/Canada/East-Saskatchewan +./share/postgresql/timezone/Canada/Mountain +./share/postgresql/timezone/Canada/Central +./share/postgresql/timezone/CST6CDT +./share/postgresql/timezone/HST +./share/postgresql/timezone/America/Boa_Vista +./share/postgresql/timezone/America/New_York +./share/postgresql/timezone/America/Santarem +./share/postgresql/timezone/America/Boise +./share/postgresql/timezone/America/St_Lucia +./share/postgresql/timezone/America/Mendoza +./share/postgresql/timezone/America/Mexico_City +./share/postgresql/timezone/America/Chihuahua +./share/postgresql/timezone/America/Indianapolis +./share/postgresql/timezone/America/Virgin +./share/postgresql/timezone/America/Atka +./share/postgresql/timezone/America/Winnipeg +./share/postgresql/timezone/America/Hermosillo +./share/postgresql/timezone/America/Indiana/Indianapolis +./share/postgresql/timezone/America/Indiana/Tell_City +./share/postgresql/timezone/America/Indiana/Winamac +./share/postgresql/timezone/America/Indiana/Knox +./share/postgresql/timezone/America/Indiana/Vincennes +./share/postgresql/timezone/America/Indiana/Vevay +./share/postgresql/timezone/America/Indiana/Petersburg +./share/postgresql/timezone/America/Indiana/Marengo +./share/postgresql/timezone/America/Moncton +./share/postgresql/timezone/America/Campo_Grande +./share/postgresql/timezone/America/Guyana +./share/postgresql/timezone/America/Caracas +./share/postgresql/timezone/America/Maceio +./share/postgresql/timezone/America/Godthab +./share/postgresql/timezone/America/Thunder_Bay +./share/postgresql/timezone/America/Havana +./share/postgresql/timezone/America/Santiago +./share/postgresql/timezone/America/Los_Angeles +./share/postgresql/timezone/America/Buenos_Aires +./share/postgresql/timezone/America/Manaus +./share/postgresql/timezone/America/Bahia +./share/postgresql/timezone/America/North_Dakota/New_Salem +./share/postgresql/timezone/America/North_Dakota/Beulah +./share/postgresql/timezone/America/North_Dakota/Center +./share/postgresql/timezone/America/Bahia_Banderas +./share/postgresql/timezone/America/Edmonton +./share/postgresql/timezone/America/Tegucigalpa +./share/postgresql/timezone/America/Rankin_Inlet +./share/postgresql/timezone/America/Monterrey +./share/postgresql/timezone/America/Cambridge_Bay +./share/postgresql/timezone/America/Porto_Velho +./share/postgresql/timezone/America/Antigua +./share/postgresql/timezone/America/Atikokan +./share/postgresql/timezone/America/Vancouver +./share/postgresql/timezone/America/Anchorage +./share/postgresql/timezone/America/Port-au-Prince +./share/postgresql/timezone/America/Lima +./share/postgresql/timezone/America/Grenada +./share/postgresql/timezone/America/Creston +./share/postgresql/timezone/America/La_Paz +./share/postgresql/timezone/America/Panama +./share/postgresql/timezone/America/Blanc-Sablon +./share/postgresql/timezone/America/Cayenne +./share/postgresql/timezone/America/Santo_Domingo +./share/postgresql/timezone/America/Grand_Turk +./share/postgresql/timezone/America/Toronto +./share/postgresql/timezone/America/Rainy_River +./share/postgresql/timezone/America/Merida +./share/postgresql/timezone/America/Port_of_Spain +./share/postgresql/timezone/America/Nipigon +./share/postgresql/timezone/America/Jamaica +./share/postgresql/timezone/America/Rosario +./share/postgresql/timezone/America/Dawson_Creek +./share/postgresql/timezone/America/Belize +./share/postgresql/timezone/America/Costa_Rica +./share/postgresql/timezone/America/Barbados +./share/postgresql/timezone/America/Danmarkshavn +./share/postgresql/timezone/America/Argentina/La_Rioja +./share/postgresql/timezone/America/Argentina/Mendoza +./share/postgresql/timezone/America/Argentina/Buenos_Aires +./share/postgresql/timezone/America/Argentina/Tucuman +./share/postgresql/timezone/America/Argentina/Ushuaia +./share/postgresql/timezone/America/Argentina/Catamarca +./share/postgresql/timezone/America/Argentina/ComodRivadavia +./share/postgresql/timezone/America/Argentina/Jujuy +./share/postgresql/timezone/America/Argentina/Cordoba +./share/postgresql/timezone/America/Argentina/San_Luis +./share/postgresql/timezone/America/Argentina/Rio_Gallegos +./share/postgresql/timezone/America/Argentina/Salta +./share/postgresql/timezone/America/Argentina/San_Juan +./share/postgresql/timezone/America/Pangnirtung +./share/postgresql/timezone/America/Anguilla +./share/postgresql/timezone/America/Curacao +./share/postgresql/timezone/America/Cancun +./share/postgresql/timezone/America/Montreal +./share/postgresql/timezone/America/Shiprock +./share/postgresql/timezone/America/Thule +./share/postgresql/timezone/America/Scoresbysund +./share/postgresql/timezone/America/Catamarca +./share/postgresql/timezone/America/Sao_Paulo +./share/postgresql/timezone/America/Sitka +./share/postgresql/timezone/America/Asuncion +./share/postgresql/timezone/America/Regina +./share/postgresql/timezone/America/St_Johns +./share/postgresql/timezone/America/Montevideo +./share/postgresql/timezone/America/Eirunepe +./share/postgresql/timezone/America/Denver +./share/postgresql/timezone/America/Metlakatla +./share/postgresql/timezone/America/Araguaina +./share/postgresql/timezone/America/Juneau +./share/postgresql/timezone/America/Marigot +./share/postgresql/timezone/America/Menominee +./share/postgresql/timezone/America/Glace_Bay +./share/postgresql/timezone/America/Tijuana +./share/postgresql/timezone/America/Detroit +./share/postgresql/timezone/America/Belem +./share/postgresql/timezone/America/Jujuy +./share/postgresql/timezone/America/St_Thomas +./share/postgresql/timezone/America/Resolute +./share/postgresql/timezone/America/Cuiaba +./share/postgresql/timezone/America/Halifax +./share/postgresql/timezone/America/St_Barthelemy +./share/postgresql/timezone/America/Guatemala +./share/postgresql/timezone/America/Nassau +./share/postgresql/timezone/America/St_Kitts +./share/postgresql/timezone/America/Cordoba +./share/postgresql/timezone/America/Miquelon +./share/postgresql/timezone/America/Bogota +./share/postgresql/timezone/America/Rio_Branco +./share/postgresql/timezone/America/Ensenada +./share/postgresql/timezone/America/Yakutat +./share/postgresql/timezone/America/Noronha +./share/postgresql/timezone/America/Kentucky/Monticello +./share/postgresql/timezone/America/Kentucky/Louisville +./share/postgresql/timezone/America/Porto_Acre +./share/postgresql/timezone/America/Santa_Isabel +./share/postgresql/timezone/America/El_Salvador +./share/postgresql/timezone/America/Yellowknife +./share/postgresql/timezone/America/Cayman +./share/postgresql/timezone/America/Whitehorse +./share/postgresql/timezone/America/Ojinaga +./share/postgresql/timezone/America/Aruba +./share/postgresql/timezone/America/Nome +./share/postgresql/timezone/America/Fortaleza +./share/postgresql/timezone/America/Martinique +./share/postgresql/timezone/America/Recife +./share/postgresql/timezone/America/Knox_IN +./share/postgresql/timezone/America/Guayaquil +./share/postgresql/timezone/America/Goose_Bay +./share/postgresql/timezone/America/Iqaluit +./share/postgresql/timezone/America/Matamoros +./share/postgresql/timezone/America/Lower_Princes +./share/postgresql/timezone/America/Louisville +./share/postgresql/timezone/America/Coral_Harbour +./share/postgresql/timezone/America/Phoenix +./share/postgresql/timezone/America/Guadeloupe +./share/postgresql/timezone/America/Mazatlan +./share/postgresql/timezone/America/Swift_Current +./share/postgresql/timezone/America/Paramaribo +./share/postgresql/timezone/America/Dominica +./share/postgresql/timezone/America/Kralendijk +./share/postgresql/timezone/America/Montserrat +./share/postgresql/timezone/America/St_Vincent +./share/postgresql/timezone/America/Fort_Wayne +./share/postgresql/timezone/America/Dawson +./share/postgresql/timezone/America/Inuvik +./share/postgresql/timezone/America/Adak +./share/postgresql/timezone/America/Managua +./share/postgresql/timezone/America/Puerto_Rico +./share/postgresql/timezone/America/Tortola +./share/postgresql/timezone/America/Chicago +./share/postgresql/timezone/Africa/Lome +./share/postgresql/timezone/Africa/Brazzaville +./share/postgresql/timezone/Africa/Khartoum +./share/postgresql/timezone/Africa/Ceuta +./share/postgresql/timezone/Africa/Djibouti +./share/postgresql/timezone/Africa/Lagos +./share/postgresql/timezone/Africa/Accra +./share/postgresql/timezone/Africa/El_Aaiun +./share/postgresql/timezone/Africa/Malabo +./share/postgresql/timezone/Africa/Windhoek +./share/postgresql/timezone/Africa/Tripoli +./share/postgresql/timezone/Africa/Bissau +./share/postgresql/timezone/Africa/Blantyre +./share/postgresql/timezone/Africa/Kinshasa +./share/postgresql/timezone/Africa/Porto-Novo +./share/postgresql/timezone/Africa/Nairobi +./share/postgresql/timezone/Africa/Ouagadougou +./share/postgresql/timezone/Africa/Asmera +./share/postgresql/timezone/Africa/Cairo +./share/postgresql/timezone/Africa/Lubumbashi +./share/postgresql/timezone/Africa/Tunis +./share/postgresql/timezone/Africa/Dar_es_Salaam +./share/postgresql/timezone/Africa/Casablanca +./share/postgresql/timezone/Africa/Algiers +./share/postgresql/timezone/Africa/Mbabane +./share/postgresql/timezone/Africa/Monrovia +./share/postgresql/timezone/Africa/Nouakchott +./share/postgresql/timezone/Africa/Banjul +./share/postgresql/timezone/Africa/Kampala +./share/postgresql/timezone/Africa/Conakry +./share/postgresql/timezone/Africa/Mogadishu +./share/postgresql/timezone/Africa/Ndjamena +./share/postgresql/timezone/Africa/Niamey +./share/postgresql/timezone/Africa/Lusaka +./share/postgresql/timezone/Africa/Addis_Ababa +./share/postgresql/timezone/Africa/Sao_Tome +./share/postgresql/timezone/Africa/Abidjan +./share/postgresql/timezone/Africa/Harare +./share/postgresql/timezone/Africa/Asmara +./share/postgresql/timezone/Africa/Douala +./share/postgresql/timezone/Africa/Freetown +./share/postgresql/timezone/Africa/Libreville +./share/postgresql/timezone/Africa/Luanda +./share/postgresql/timezone/Africa/Maseru +./share/postgresql/timezone/Africa/Gaborone +./share/postgresql/timezone/Africa/Maputo +./share/postgresql/timezone/Africa/Timbuktu +./share/postgresql/timezone/Africa/Bangui +./share/postgresql/timezone/Africa/Bamako +./share/postgresql/timezone/Africa/Dakar +./share/postgresql/timezone/Africa/Juba +./share/postgresql/timezone/Africa/Bujumbura +./share/postgresql/timezone/Africa/Johannesburg +./share/postgresql/timezone/Africa/Kigali +./share/postgresql/timezone/Eire +./share/postgresql/timezone/Europe/Vaduz +./share/postgresql/timezone/Europe/Podgorica +./share/postgresql/timezone/Europe/Rome +./share/postgresql/timezone/Europe/Vienna +./share/postgresql/timezone/Europe/Dublin +./share/postgresql/timezone/Europe/Zurich +./share/postgresql/timezone/Europe/London +./share/postgresql/timezone/Europe/Monaco +./share/postgresql/timezone/Europe/Sofia +./share/postgresql/timezone/Europe/Uzhgorod +./share/postgresql/timezone/Europe/Minsk +./share/postgresql/timezone/Europe/Malta +./share/postgresql/timezone/Europe/Busingen +./share/postgresql/timezone/Europe/Gibraltar +./share/postgresql/timezone/Europe/Volgograd +./share/postgresql/timezone/Europe/Budapest +./share/postgresql/timezone/Europe/Vatican +./share/postgresql/timezone/Europe/Luxembourg +./share/postgresql/timezone/Europe/Chisinau +./share/postgresql/timezone/Europe/Nicosia +./share/postgresql/timezone/Europe/Warsaw +./share/postgresql/timezone/Europe/San_Marino +./share/postgresql/timezone/Europe/Copenhagen +./share/postgresql/timezone/Europe/Ljubljana +./share/postgresql/timezone/Europe/Athens +./share/postgresql/timezone/Europe/Skopje +./share/postgresql/timezone/Europe/Andorra +./share/postgresql/timezone/Europe/Kaliningrad +./share/postgresql/timezone/Europe/Amsterdam +./share/postgresql/timezone/Europe/Guernsey +./share/postgresql/timezone/Europe/Isle_of_Man +./share/postgresql/timezone/Europe/Tirane +./share/postgresql/timezone/Europe/Jersey +./share/postgresql/timezone/Europe/Madrid +./share/postgresql/timezone/Europe/Helsinki +./share/postgresql/timezone/Europe/Riga +./share/postgresql/timezone/Europe/Zagreb +./share/postgresql/timezone/Europe/Bratislava +./share/postgresql/timezone/Europe/Prague +./share/postgresql/timezone/Europe/Tallinn +./share/postgresql/timezone/Europe/Stockholm +./share/postgresql/timezone/Europe/Tiraspol +./share/postgresql/timezone/Europe/Belgrade +./share/postgresql/timezone/Europe/Bucharest +./share/postgresql/timezone/Europe/Vilnius +./share/postgresql/timezone/Europe/Sarajevo +./share/postgresql/timezone/Europe/Belfast +./share/postgresql/timezone/Europe/Zaporozhye +./share/postgresql/timezone/Europe/Oslo +./share/postgresql/timezone/Europe/Mariehamn +./share/postgresql/timezone/Europe/Moscow +./share/postgresql/timezone/Europe/Brussels +./share/postgresql/timezone/Europe/Paris +./share/postgresql/timezone/Europe/Istanbul +./share/postgresql/timezone/Europe/Simferopol +./share/postgresql/timezone/Europe/Lisbon +./share/postgresql/timezone/Europe/Berlin +./share/postgresql/timezone/Europe/Kiev +./share/postgresql/timezone/Europe/Samara +./share/postgresql/timezone/MST +./share/postgresql/timezone/Asia/Khandyga +./share/postgresql/timezone/Asia/Manila +./share/postgresql/timezone/Asia/Novokuznetsk +./share/postgresql/timezone/Asia/Baghdad +./share/postgresql/timezone/Asia/Macau +./share/postgresql/timezone/Asia/Urumqi +./share/postgresql/timezone/Asia/Ujung_Pandang +./share/postgresql/timezone/Asia/Ulan_Bator +./share/postgresql/timezone/Asia/Bishkek +./share/postgresql/timezone/Asia/Qatar +./share/postgresql/timezone/Asia/Qyzylorda +./share/postgresql/timezone/Asia/Calcutta +./share/postgresql/timezone/Asia/Riyadh87 +./share/postgresql/timezone/Asia/Dushanbe +./share/postgresql/timezone/Asia/Yekaterinburg +./share/postgresql/timezone/Asia/Dhaka +./share/postgresql/timezone/Asia/Jakarta +./share/postgresql/timezone/Asia/Shanghai +./share/postgresql/timezone/Asia/Ulaanbaatar +./share/postgresql/timezone/Asia/Jerusalem +./share/postgresql/timezone/Asia/Ashkhabad +./share/postgresql/timezone/Asia/Tokyo +./share/postgresql/timezone/Asia/Macao +./share/postgresql/timezone/Asia/Krasnoyarsk +./share/postgresql/timezone/Asia/Saigon +./share/postgresql/timezone/Asia/Omsk +./share/postgresql/timezone/Asia/Damascus +./share/postgresql/timezone/Asia/Phnom_Penh +./share/postgresql/timezone/Asia/Bangkok +./share/postgresql/timezone/Asia/Kamchatka +./share/postgresql/timezone/Asia/Choibalsan +./share/postgresql/timezone/Asia/Ust-Nera +./share/postgresql/timezone/Asia/Aden +./share/postgresql/timezone/Asia/Vientiane +./share/postgresql/timezone/Asia/Sakhalin +./share/postgresql/timezone/Asia/Ashgabat +./share/postgresql/timezone/Asia/Katmandu +./share/postgresql/timezone/Asia/Almaty +./share/postgresql/timezone/Asia/Baku +./share/postgresql/timezone/Asia/Nicosia +./share/postgresql/timezone/Asia/Riyadh88 +./share/postgresql/timezone/Asia/Kashgar +./share/postgresql/timezone/Asia/Riyadh89 +./share/postgresql/timezone/Asia/Taipei +./share/postgresql/timezone/Asia/Tehran +./share/postgresql/timezone/Asia/Kabul +./share/postgresql/timezone/Asia/Samarkand +./share/postgresql/timezone/Asia/Kuala_Lumpur +./share/postgresql/timezone/Asia/Tashkent +./share/postgresql/timezone/Asia/Thimbu +./share/postgresql/timezone/Asia/Thimphu +./share/postgresql/timezone/Asia/Yerevan +./share/postgresql/timezone/Asia/Chungking +./share/postgresql/timezone/Asia/Hebron +./share/postgresql/timezone/Asia/Karachi +./share/postgresql/timezone/Asia/Kolkata +./share/postgresql/timezone/Asia/Aqtobe +./share/postgresql/timezone/Asia/Muscat +./share/postgresql/timezone/Asia/Hong_Kong +./share/postgresql/timezone/Asia/Chongqing +./share/postgresql/timezone/Asia/Oral +./share/postgresql/timezone/Asia/Pontianak +./share/postgresql/timezone/Asia/Colombo +./share/postgresql/timezone/Asia/Pyongyang +./share/postgresql/timezone/Asia/Hovd +./share/postgresql/timezone/Asia/Kuwait +./share/postgresql/timezone/Asia/Anadyr +./share/postgresql/timezone/Asia/Kathmandu +./share/postgresql/timezone/Asia/Irkutsk +./share/postgresql/timezone/Asia/Bahrain +./share/postgresql/timezone/Asia/Dubai +./share/postgresql/timezone/Asia/Jayapura +./share/postgresql/timezone/Asia/Riyadh +./share/postgresql/timezone/Asia/Ho_Chi_Minh +./share/postgresql/timezone/Asia/Singapore +./share/postgresql/timezone/Asia/Tel_Aviv +./share/postgresql/timezone/Asia/Dili +./share/postgresql/timezone/Asia/Rangoon +./share/postgresql/timezone/Asia/Harbin +./share/postgresql/timezone/Asia/Yakutsk +./share/postgresql/timezone/Asia/Magadan +./share/postgresql/timezone/Asia/Amman +./share/postgresql/timezone/Asia/Kuching +./share/postgresql/timezone/Asia/Novosibirsk +./share/postgresql/timezone/Asia/Seoul +./share/postgresql/timezone/Asia/Dacca +./share/postgresql/timezone/Asia/Vladivostok +./share/postgresql/timezone/Asia/Istanbul +./share/postgresql/timezone/Asia/Beirut +./share/postgresql/timezone/Asia/Aqtau +./share/postgresql/timezone/Asia/Brunei +./share/postgresql/timezone/Asia/Gaza +./share/postgresql/timezone/Asia/Tbilisi +./share/postgresql/timezone/Asia/Makassar +./share/postgresql/timezone/Asia/Beijing +./share/postgresql/timezone/Navajo +./share/postgresql/timezone/GMT +./share/postgresql/system_views.sql +./share/postgresql/private_system_views.sql +./share/postgresql/performance_views.sql +./share/postgresql/sql_features.txt +./share/postgresql/pg_cast_oid.txt +./share/postgresql/recovery.conf.sample +./share/postgresql/tsearch_data/english.stop +./share/postgresql/tsearch_data/dutch.stop +./share/postgresql/tsearch_data/hungarian.stop +./share/postgresql/tsearch_data/french.stop +./share/postgresql/tsearch_data/synonym_sample.syn +./share/postgresql/tsearch_data/turkish.stop +./share/postgresql/tsearch_data/portuguese.stop +./share/postgresql/tsearch_data/spanish.stop +./share/postgresql/tsearch_data/hunspell_sample.affix +./share/postgresql/tsearch_data/ispell_sample.affix +./share/postgresql/tsearch_data/danish.stop +./share/postgresql/tsearch_data/german.stop +./share/postgresql/tsearch_data/thesaurus_sample.ths +./share/postgresql/tsearch_data/norwegian.stop +./share/postgresql/tsearch_data/finnish.stop +./share/postgresql/tsearch_data/russian.stop +./share/postgresql/tsearch_data/swedish.stop +./share/postgresql/tsearch_data/ispell_sample.dict +./share/postgresql/tsearch_data/italian.stop +./share/postgresql/information_schema.sql +./share/postgresql/timezonesets/Antarctica.txt +./share/postgresql/timezonesets/Australia.txt +./share/postgresql/timezonesets/Europe.txt +./share/postgresql/timezonesets/America.txt +./share/postgresql/timezonesets/Australia +./share/postgresql/timezonesets/Indian.txt +./share/postgresql/timezonesets/India +./share/postgresql/timezonesets/Pacific.txt +./share/postgresql/timezonesets/Atlantic.txt +./share/postgresql/timezonesets/Africa.txt +./share/postgresql/timezonesets/Asia.txt +./share/postgresql/timezonesets/Default +./share/postgresql/timezonesets/Etc.txt +./share/postgresql/postgres.bki +./share/llvmir/GaussDB_expr.ir +./share/sslcert/gsql/openssl.cnf +./share/sslcert/grpc/openssl.cnf +./share/sslcert/om/openssl.cnf +./lib/libsimsearch/ +./lib/postgresql/latin2_and_win1250.so +./lib/postgresql/euc2004_sjis2004.so +./lib/postgresql/euc_kr_and_mic.so +./lib/postgresql/utf8_and_uhc.so +./lib/postgresql/euc_tw_and_big5.so +./lib/postgresql/cyrillic_and_mic.so +./lib/postgresql/utf8_and_johab.so +./lib/postgresql/utf8_and_gb18030.so +./lib/postgresql/pgxs/src/makefiles/pgxs.mk +./lib/postgresql/pgxs/src/Makefile.shlib +./lib/postgresql/pgxs/src/Makefile.port +./lib/postgresql/pgxs/src/nls-global.mk +./lib/postgresql/pgxs/src/Makefile.global +./lib/postgresql/pgxs/config/install-sh +./lib/postgresql/euc_cn_and_mic.so +./lib/postgresql/latin_and_mic.so +./lib/postgresql/utf8_and_sjis2004.so +./lib/postgresql/utf8_and_euc_jp.so +./lib/postgresql/utf8_and_sjis.so +./lib/postgresql/utf8_and_cyrillic.so +./lib/postgresql/hstore.so +./lib/postgresql/utf8_and_euc_kr.so +./lib/postgresql/ascii_and_mic.so +./lib/postgresql/utf8_and_iso8859_1.so +./lib/postgresql/euc_jp_and_sjis.so +./lib/postgresql/dict_snowball.so +./lib/postgresql/utf8_and_ascii.so +./lib/postgresql/utf8_and_euc_tw.so +./lib/postgresql/utf8_and_iso8859.so +./lib/postgresql/utf8_and_win.so +./lib/postgresql/utf8_and_euc_cn.so +./lib/postgresql/utf8_and_gbk.so +./lib/postgresql/utf8_and_euc2004.so +./lib/postgresql/utf8_and_big5.so +./lib/postgresql/mppdb_decoding.so +./lib/postgresql/ndpplugin.so +./lib/postgresql/pg_plugin +./lib/postgresql/proc_srclib +./lib/postgresql/security_plugin.so +./lib/postgresql/dolphin.so +./lib/postgresql/pg_upgrade_support.so +./lib/postgresql/java/pljava.jar +./lib/postgresql/postgres_fdw.so +./lib/postgresql/dblink.so +./lib/postgresql/pgoutput.so +./lib/postgresql/assessment.so +./lib/libpljava.so +./lib/libpq.a +./lib/libpq.so +./lib/libpq.so.5 +./lib/libpq.so.5.5 +./lib/libpq_ce.so +./lib/libpq_ce.so.5 +./lib/libpq_ce.so.5.5 +./lib/libgauss_cl_jni.so +./lib/libnuma.so +./lib/libnuma.so.1 +./lib/libnuma.so.1.0.0 +./lib/libcgroup.so* +./lib/libcom_err_gauss.so* +./lib/libatomic.so* +./lib/libmasstree.so +./lib/libupb.so* +./lib/libabsl_str_format_internal.so +./lib/libabsl_strings.so +./lib/libabsl_throw_delegate.so +./lib/libabsl_strings_internal.so +./lib/libabsl_base.so +./lib/libabsl_dynamic_annotations.so +./lib/libabsl_spinlock_wait.so +./lib/libabsl_int128.so +./lib/libabsl_bad_optional_access.so +./lib/libabsl_raw_logging_internal.so +./lib/libabsl_log_severity.so +./lib/libaddress_sorting.so +./lib/libaddress_sorting.so.9 +./lib/libgssapi_krb5_gauss.so* +./lib/libgssrpc_gauss.so* +./lib/libk5crypto_gauss.so* +./lib/libkadm5clnt.so +./lib/libkadm5clnt_mit.so* +./lib/libkadm5srv.so +./lib/libkadm5srv_mit.so* +./lib/libkdb5.so* +./lib/libkrad.so* +./lib/libkrb5_gauss.so* +./lib/libkrb5support_gauss.so* +./lib/krb5/plugins/kdb/db2.so +./lib/libverto.so* +./lib/libcurl.so* +./lib/libcrypto.so* +./lib/libssl.so* +./lib/libgcc_s.so.1 +./lib/libstdc++.so.6 +./lib/libz.so* +./lib/liblz4.so* +./lib/libcjson.so* +./lib/libconfig.so* +./lib/libpgport_tool.so +./lib/libpgport_tool.so.1 +./share/llvmir/GaussDB_expr.ir +./lib/libeSDKLogAPI.so +./lib/libeSDKOBS.so +./lib/liblog4cpp.so* +./lib/libcharset.so* +./lib/libiconv.so* +./lib/libnghttp2.so* +./lib/libpcre.so* +./lib/libsecurec.so +./lib/libxml2.so* +./lib/OBS.ini +./lib/postgresql/latin2_and_win1250.so +./lib/postgresql/euc2004_sjis2004.so +./lib/libdcf.so +./lib/libzstd.so* +./lib/libxgboost.so +./lib/libpagecompression.so* +./lib/libdssapi.so +./lib/libdms.so +./lib/libodbc.so* + +./include/postgresql/server/postgres_ext.h +./include/postgresql/server/pg_config_os.h +./include/postgresql/server/pgtime.h +./include/postgresql/server/datatypes.h +./include/postgresql/server/client_logic/client_logic_enums.h +./include/postgresql/server/nodes/primnodes.h +./include/postgresql/server/nodes/parsenodes.h +./include/postgresql/server/nodes/parsenodes_common.h +./include/postgresql/server/nodes/bitmapset.h +./include/postgresql/server/nodes/pg_list.h +./include/postgresql/server/nodes/value.h +./include/postgresql/server/nodes/nodes.h +./include/postgresql/server/utils/sortsupport.h +./include/postgresql/server/utils/varbit.h +./include/postgresql/server/utils/spccache.h +./include/postgresql/server/utils/rangetypes.h +./include/postgresql/server/utils/plpgsql.h +./include/postgresql/server/utils/memtrack.h +./include/postgresql/server/utils/pg_locale.h +./include/postgresql/server/utils/tzparser.h +./include/postgresql/server/utils/syscall_lock.h +./include/postgresql/server/utils/partitionmap.h +./include/postgresql/server/utils/array.h +./include/postgresql/server/utils/relmapper.h +./include/postgresql/server/utils/hsearch.h +./include/postgresql/server/utils/xml.h +./include/postgresql/server/utils/bytea.h +./include/postgresql/server/utils/relcache.h +./include/postgresql/server/utils/pg_rusage.h +./include/postgresql/server/utils/numeric.h +./include/postgresql/server/utils/mmpool.h +./include/postgresql/server/utils/nabstime.h +./include/postgresql/server/utils/fmgrtab.h +./include/postgresql/server/utils/snapmgr.h +./include/postgresql/server/utils/syscache.h +./include/postgresql/server/utils/logtape.h +./include/postgresql/server/utils/datum.h +./include/postgresql/server/utils/guc_tables.h +./include/postgresql/server/utils/snapshot.h +./include/postgresql/server/utils/geo_decls.h +./include/postgresql/server/utils/errcodes.h +./include/postgresql/server/utils/inval.h +./include/postgresql/server/utils/help_config.h +./include/postgresql/server/utils/distribute_test.h +./include/postgresql/server/utils/aiomem.h +./include/postgresql/server/utils/tuplestore.h +./include/postgresql/server/utils/rbtree.h +./include/postgresql/server/utils/gs_bitmap.h +./include/postgresql/server/utils/tuplesort.h +./include/postgresql/server/utils/ps_status.h +./include/postgresql/server/utils/palloc.h +./include/postgresql/server/utils/reltrigger.h +./include/postgresql/server/utils/acl.h +./include/postgresql/server/utils/ascii.h +./include/postgresql/server/utils/selfuncs.h +./include/postgresql/server/utils/json.h +./include/postgresql/server/utils/portal.h +./include/postgresql/server/utils/atomic.h +./include/postgresql/server/utils/elog.h +./include/postgresql/server/utils/date.h +./include/postgresql/server/utils/plancache.h +./include/postgresql/server/utils/int8.h +./include/postgresql/server/utils/timestamp.h +./include/postgresql/server/utils/bloom_filter.h +./include/postgresql/server/utils/fmgroids.h +./include/postgresql/server/utils/pg_crc_tables.h +./include/postgresql/server/utils/probes.h +./include/postgresql/server/utils/datetime.h +./include/postgresql/server/utils/inet.h +./include/postgresql/server/utils/pg_lzcompress.h +./include/postgresql/server/utils/pg_crc.h +./include/postgresql/server/utils/attoptcache.h +./include/postgresql/server/utils/dynahash.h +./include/postgresql/server/utils/rel.h +./include/postgresql/server/utils/partcache.h +./include/postgresql/server/utils/lsyscache.h +./include/postgresql/server/utils/memutils.h +./include/postgresql/server/utils/memprot.h +./include/postgresql/server/utils/uuid.h +./include/postgresql/server/utils/combocid.h +./include/postgresql/server/utils/builtins.h +./include/postgresql/server/utils/guc.h +./include/postgresql/server/utils/dfs_vector.h +./include/postgresql/server/utils/dynamic_loader.h +./include/postgresql/server/utils/resowner.h +./include/postgresql/server/utils/aes.h +./include/postgresql/server/utils/cash.h +./include/postgresql/server/utils/typcache.h +./include/postgresql/server/utils/formatting.h +./include/postgresql/server/utils/partitionkey.h +./include/postgresql/server/utils/aset.h +./include/postgresql/server/utils/catcache.h +./include/postgresql/server/utils/atomic_arm.h +./include/postgresql/server/utils/oidrbtree.h +./include/postgresql/server/datatype/timestamp.h +./include/postgresql/server/access/rmgr.h +./include/postgresql/server/access/xlogreader.h +./include/postgresql/server/access/xlog_basic.h +./include/postgresql/server/access/tupdesc.h +./include/postgresql/server/access/rmgrlist.h +./include/postgresql/server/access/htup.h +./include/postgresql/server/access/xlogdefs.h +./include/postgresql/server/access/attnum.h +./include/postgresql/server/access/tupmacs.h +./include/postgresql/server/access/xlogrecord.h +./include/postgresql/server/tde_key_management/data_common.h +./include/postgresql/server/tcop/dest.h +./include/postgresql/server/catalog/pg_type.h +./include/postgresql/server/catalog/pg_attribute.h +./include/postgresql/server/catalog/genbki.h +./include/postgresql/server/gs_thread.h +./include/postgresql/server/port/pg_bswap.h +./include/postgresql/server/port/pg_crc32c.h +./include/postgresql/server/securec.h +./include/postgresql/server/securectype.h +./include/postgresql/server/storage/off.h +./include/postgresql/server/storage/buf/block.h +./include/postgresql/server/storage/item/item.h +./include/postgresql/server/storage/smgr/relfilenode.h +./include/postgresql/server/storage/buf/bufpage.h +./include/postgresql/server/storage/spin.h +./include/postgresql/server/storage/buf/buf.h +./include/postgresql/server/storage/item/itemid.h +./include/postgresql/server/storage/lock/pg_sema.h +./include/postgresql/server/storage/item/itemptr.h +./include/postgresql/server/storage/lock/s_lock.h +./include/postgresql/server/storage/backendid.h +./include/postgresql/server/storage/lock/lock.h +./include/postgresql/server/storage/lock/lwlock.h +./include/postgresql/server/storage/lwlocknames.h +./include/postgresql/server/storage/barrier.h +./include/postgresql/server/storage/shmem.h +./include/postgresql/server/pg_config.h +./include/postgresql/server/lib/stringinfo.h +./include/postgresql/server/fmgr.h +./include/postgresql/server/fmgr/fmgr_comp.h +./include/postgresql/server/fmgr/fmgr_core.h +./include/postgresql/server/gs_threadlocal.h +./include/postgresql/server/postgres.h +./include/postgresql/server/executor/tuptable.h +./include/postgresql/server/pg_config_manual.h +./include/postgresql/server/mb/pg_wchar.h +./include/postgresql/server/c.h +./include/postgresql/server/port.h +./include/postgresql/server/utils/be_module.h +./include/postgresql/server/nodes/params.h +./include/postgresql/server/securec_check.h +./include/postgresql/server/nodes/memnodes.h +./include/postgresql/server/access/skey.h +./include/postgresql/server/lib/dllist.h +./include/postgresql/server/lib/ilist.h +./include/postgresql/server/pgxc/locator.h +./include/postgresql/server/gstrace/gstrace_infra.h +./include/postgresql/server/extension_dependency.h +./include/postgresql/server/libpq/libpq-fe.h +./include/postgresql/server/access/clog.h +./include/postgresql/server/storage/proc.h +./include/postgresql/server/access/xlog.h +./include/postgresql/server/storage/lwlocknames.h +./include/postgresql/server/access/xloginsert.h +./include/postgresql/server/catalog/pg_control.h +./include/postgresql/server/access/parallel_recovery/redo_item.h +./include/postgresql/server/access/parallel_recovery/posix_semaphore.h +./include/postgresql/server/replication/replicainternal.h +./include/postgresql/server/knl/knl_instance.h +./include/postgresql/server/knl/knl_guc.h +./include/postgresql/server/knl/knl_guc/knl_session_attr_sql.h +./include/postgresql/server/knl/knl_guc/knl_guc_common.h +./include/postgresql/server/knl/knl_guc/knl_instance_attr_sql.h +./include/postgresql/server/knl/knl_guc/knl_session_attr_storage.h +./include/postgresql/server/knl/knl_guc/knl_instance_attr_storage.h +./include/postgresql/server/knl/knl_guc/knl_instance_attr_storage.h +./include/postgresql/server/knl/knl_guc/knl_session_attr_security.h +./include/postgresql/server/knl/knl_guc/knl_instance_attr_security.h +./include/postgresql/server/knl/knl_guc/knl_session_attr_network.h +./include/postgresql/server/knl/knl_guc/knl_instance_attr_network.h +./include/postgresql/server/knl/knl_guc/knl_session_attr_memory.h +./include/postgresql/server/knl/knl_guc/knl_instance_attr_memory.h +./include/postgresql/server/knl/knl_guc/knl_session_attr_resource.h +./include/postgresql/server/knl/knl_guc/knl_instance_attr_resource.h +./include/postgresql/server/knl/knl_guc/knl_session_attr_common.h +./include/postgresql/server/knl/knl_guc/knl_instance_attr_common.h +./include/postgresql/server/access/ustore/knl_uverify.h +./include/postgresql/server/lib/circularqueue.h +./include/postgresql/server/access/double_write_basic.h +./include/postgresql/server/knl/knl_thread.h +./include/postgresql/server/access/sdir.h +./include/postgresql/server/gssignal/gs_signal.h +./include/postgresql/server/knl/knl_session.h +./include/postgresql/server/libpq/pqcomm.h +./include/postgresql/server/cipher.h +./include/postgresql/server/portability/instr_time.h +./include/postgresql/server/utils/memgroup.h +./include/postgresql/server/storage/latch.h +./include/postgresql/server/workload/qnode.h +./include/postgresql/server/streaming/init.h +./include/postgresql/server/streaming/launcher.h +./include/postgresql/server/pgxc/barrier.h +./include/postgresql/server/libcomm/libcomm.h +./include/postgresql/server/hotpatch/hotpatch.h +./include/postgresql/server/hotpatch/hotpatch_backend.h +./include/postgresql/server/postmaster/bgwriter.h +./include/postgresql/server/postmaster/pagewriter.h +./include/postgresql/server/replication/heartbeat.h +./include/postgresql/server/access/multi_redo_settings.h +./include/postgresql/server/access/redo_statistic_msg.h +./include/postgresql/server/replication/rto_statistic.h +./include/postgresql/server/replication/walprotocol.h +./include/postgresql/server/storage/mot/jit_def.h +./include/postgresql/server/threadpool/threadpool.h +./include/postgresql/server/threadpool/threadpool_controler.h +./include/postgresql/server/threadpool/threadpool_group.h +./include/postgresql/server/knl/knl_variable.h +./include/postgresql/server/threadpool/threadpool_listener.h +./include/postgresql/server/threadpool/threadpool_sessctl.h +./include/postgresql/server/storage/procsignal.h +./include/postgresql/server/threadpool/threadpool_worker.h +./include/postgresql/server/threadpool/threadpool_scheduler.h +./include/postgresql/server/threadpool/threadpool_stream.h +./include/postgresql/server/replication/dataqueuedefs.h +./include/postgresql/server/gtm/gtm_c.h +./include/postgresql/server/cm/etcdapi.h +./include/postgresql/server/alarm/alarm.h +./include/postgresql/server/access/xact.h +./include/postgresql/server/access/cstore_am.h +./include/postgresql/server/access/cstore_roughcheck_func.h +./include/postgresql/server/access/cstoreskey.h +./include/postgresql/server/storage/cu.h +./include/postgresql/server/vecexecutor/vectorbatch.h +./include/postgresql/server/cstore.h +./include/postgresql/server/storage/cstore/cstore_mem_alloc.h +./include/postgresql/server/access/cstore_minmax_func.h +./include/postgresql/server/storage/custorage.h +./include/postgresql/server/storage/fd.h +./include/postgresql/server/postmaster/aiocompleter.h +./include/postgresql/server/storage/buf/bufmgr.h +./include/postgresql/server/storage/buf/buf_internals.h +./include/postgresql/server/storage/smgr.h +./include/postgresql/server/catalog/pg_am.h +./include/postgresql/server/catalog/pg_class.h +./include/postgresql/server/catalog/pg_index.h +./include/postgresql/server/rewrite/prs2lock.h +./include/postgresql/server/tcop/stmt_retry.h +./include/postgresql/server/catalog/pg_hashbucket_fn.h +./include/postgresql/server/utils/rel_gs.h +./include/postgresql/server/catalog/pg_partition.h +./include/postgresql/server/catalog/pg_hashbucket.h +./include/postgresql/server/catalog/catalog.h +./include/postgresql/server/catalog/catversion.h +./include/postgresql/server/catalog/pg_namespace.h +./include/postgresql/server/utils/partitionmap_gs.h +./include/postgresql/server/access/heapam.h +./include/postgresql/server/storage/pagecompress.h +./include/postgresql/server/replication/bcm.h +./include/postgresql/server/storage/cstore/cstorealloc.h +./include/postgresql/server/storage/cucache_mgr.h +./include/postgresql/server/storage/cache_mgr.h +./include/postgresql/server/nodes/plannodes.h +./include/postgresql/server/foreign/foreign.h +./include/postgresql/server/access/obs/obs_am.h +./include/postgresql/server/storage/buf/buffile.h +./include/postgresql/server/replication/slot.h +./include/postgresql/server/access/obs/eSDKOBS.h +./include/postgresql/server/commands/defrem.h +./include/postgresql/server/optimizer/pruning.h +./include/postgresql/server/nodes/relation.h +./include/postgresql/server/optimizer/bucketinfo.h +./include/postgresql/server/pgxc/nodemgr.h +./include/postgresql/server/bulkload/dist_fdw.h +./include/postgresql/server/bulkload/importerror.h +./include/postgresql/server/commands/gds_stream.h +./include/postgresql/server/bulkload/utils.h +./include/postgresql/server/cjson/cJSON.h +./include/postgresql/server/ssl/gs_openssl_client.h +./include/postgresql/server/funcapi.h +./include/postgresql/server/executor/executor.h +./include/postgresql/server/executor/execdesc.h +./include/postgresql/server/nodes/execnodes.h +./include/postgresql/server/access/genam.h +./include/postgresql/server/nodes/tidbitmap.h +./include/postgresql/server/access/relscan.h +./include/postgresql/server/access/itup.h +./include/postgresql/server/executor/instrument.h +./include/postgresql/server/miscadmin.h +./include/postgresql/server/libpq/libpq-be.h +./include/postgresql/server/libpq/hba.h +./include/postgresql/server/libpq/sha2.h +./include/postgresql/server/utils/anls_opt.h +./include/postgresql/server/pgxc/pgxc.h +./include/postgresql/server/catalog/namespace.h +./include/postgresql/server/commands/trigger.h +./include/postgresql/server/executor/spi.h +./include/postgresql/server/db4ai/db4ai.h +./include/postgresql/server/instruments/gs_stack.h +./include/postgresql/server/instruments/instr_mfchain.h +./include/postgresql/server/access/ustore/undo/knl_uundotype.h +./include/postgresql/server/access/ustore/undo/knl_uundoapi.h +./include/postgresql/server/access/ustore/knl_uheap.h +./include/postgresql/server/access/ustore/knl_utuple.h +./include/postgresql/server/access/ustore/knl_utype.h +./include/postgresql/server/access/ustore/knl_upage.h +./include/postgresql/server/access/ustore/knl_uredo.h +./include/postgresql/server/access/ustore/knl_uundovec.h +./include/postgresql/server/access/ustore/knl_uundorecord.h +./include/postgresql/server/access/ustore/undo/knl_uundoxlog.h +./include/postgresql/server/access/ustore/undo/knl_uundotxn.h +./include/postgresql/server/access/ustore/undo/knl_uundozone.h +./include/postgresql/server/access/ustore/undo/knl_uundospace.h +./include/postgresql/server/communication/commproxy_basic.h +./include/postgresql/server/access/parallel_recovery/page_redo.h +./include/postgresql/server/access/parallel_recovery/spsc_blocking_queue.h +./include/postgresql/server/executor/exec/execdesc.h +./include/postgresql/server/db4ai/matrix.h +./include/postgresql/server/db4ai/scores.h +./include/postgresql/server/access/multixact.h +./include/postgresql/server/access/xlogutils.h +./include/postgresql/server/executor/functions.h +./include/postgresql/server/storage/lock/waitpolicy.h +./include/postgresql/server/storage/page_compression.h +./include/postgresql/server/storage/smgr/knl_usync.h +./include/postgresql/server/storage/smgr/fd.h +./include/postgresql/server/storage/smgr/smgr.h +./include/postgresql/server/storage/sharedfileset.h +./include/postgresql/server/utils/knl_globalsysdbcache.h +./include/postgresql/server/utils/knl_globaldbstatmanager.h +./include/postgresql/server/utils/knl_globalsyscache_common.h +./include/postgresql/server/utils/knl_globalbucketlist.h +./include/postgresql/server/utils/knl_globalsystabcache.h +./include/postgresql/server/utils/knl_globalsystupcache.h +./include/postgresql/server/utils/knl_globaltabdefcache.h +./include/postgresql/server/utils/knl_globalbasedefcache.h +./include/postgresql/server/utils/knl_globalpartdefcache.h +./include/postgresql/server/utils/knl_globalrelmapcache.h +./include/postgresql/server/utils/knl_localsysdbcache.h +./include/postgresql/server/utils/knl_localsystabcache.h +./include/postgresql/server/utils/knl_localsystupcache.h +./include/postgresql/server/utils/knl_localsyscache_common.h +./include/postgresql/server/utils/knl_localtabdefcache.h +./include/postgresql/server/utils/knl_localbasedefcache.h +./include/postgresql/server/utils/knl_localbucketlist.h +./include/postgresql/server/utils/knl_localpartdefcache.h +./include/postgresql/server/utils/pl_global_package_runtime_cache.h +./include/postgresql/server/catalog/pg_tablespace.h +./include/postgresql/server/catalog/pg_subscription.h +./include/postgresql/server/catalog/pg_replication_origin.h +./include/postgresql/server/postmaster/barrier_creator.h +./include/postgresql/server/postmaster/pagerepair.h +./include/postgresql/server/replication/libpqwalreceiver.h +./include/postgresql/server/replication/worker_internal.h +./include/postgresql/server/replication/origin.h +./include/postgresql/server/parser/scanner.h +./include/postgresql/server/parser/keywords.h +./jre/ASSEMBLY_EXCEPTION +./jre/bin/java +./jre/bin/jjs +./jre/bin/keytool +./jre/bin/orbd +./jre/bin/pack200 +./jre/bin/policytool +./jre/bin/rmid +./jre/bin/rmiregistry +./jre/bin/servertool +./jre/bin/tnameserv +./jre/bin/unpack200 +./jre/lib/aarch64/jli/libjli.so +./jre/lib/aarch64/jvm.cfg +./jre/lib/aarch64/libattach.so +./jre/lib/aarch64/libavplugin-ffmpeg-58.so +./jre/lib/aarch64/libawt_headless.so +./jre/lib/aarch64/libawt.so +./jre/lib/aarch64/libawt_xawt.so +./jre/lib/aarch64/libdecora_sse.so +./jre/lib/aarch64/libdt_socket.so +./jre/lib/aarch64/libfontmanager.so +./jre/lib/aarch64/libfxplugins.so +./jre/lib/aarch64/libglassgtk2.so +./jre/lib/aarch64/libglassgtk3.so +./jre/lib/aarch64/libglass.so +./jre/lib/aarch64/libgstreamer-lite.so +./jre/lib/aarch64/libhprof.so +./jre/lib/aarch64/libinstrument.so +./jre/lib/aarch64/libj2gss.so +./jre/lib/aarch64/libj2pcsc.so +./jre/lib/aarch64/libj2pkcs11.so +./jre/lib/aarch64/libjaas_unix.so +./jre/lib/aarch64/libjava_crw_demo.so +./jre/lib/aarch64/libjavafx_font_freetype.so +./jre/lib/aarch64/libjavafx_font_pango.so +./jre/lib/aarch64/libjavafx_font.so +./jre/lib/aarch64/libjavafx_iio.so +./jre/lib/aarch64/libjava.so +./jre/lib/aarch64/libjawt.so +./jre/lib/aarch64/libjdwp.so +./jre/lib/aarch64/libjfxmedia.so +./jre/lib/aarch64/libjfxwebkit.so +./jre/lib/aarch64/libjpeg.so +./jre/lib/aarch64/libjsdt.so +./jre/lib/aarch64/libjsig.so +./jre/lib/aarch64/libjsoundalsa.so +./jre/lib/aarch64/libjsound.so +./jre/lib/aarch64/liblcms.so +./jre/lib/aarch64/libmanagement.so +./jre/lib/aarch64/libmlib_image.so +./jre/lib/aarch64/libnet.so +./jre/lib/aarch64/libnio.so +./jre/lib/aarch64/libnpt.so +./jre/lib/aarch64/libprism_common.so +./jre/lib/aarch64/libprism_es2.so +./jre/lib/aarch64/libprism_sw.so +./jre/lib/aarch64/libsaproc.so +./jre/lib/aarch64/libsctp.so +./jre/lib/aarch64/libsplashscreen.so +./jre/lib/aarch64/libsunec.so +./jre/lib/aarch64/libunpack.so +./jre/lib/aarch64/libverify.so +./jre/lib/aarch64/libzip.so +./jre/lib/aarch64/server/libjvm.so +./jre/lib/aarch64/server/Xusage.txt +./jre/lib/calendars.properties +./jre/lib/charsets.jar +./jre/lib/classlist +./jre/lib/cmm/CIEXYZ.pf +./jre/lib/cmm/GRAY.pf +./jre/lib/cmm/LINEAR_RGB.pf +./jre/lib/cmm/PYCC.pf +./jre/lib/cmm/sRGB.pf +./jre/lib/content-types.properties +./jre/lib/currency.data +./jre/lib/ext/cldrdata.jar +./jre/lib/ext/dnsns.jar +./jre/lib/ext/jaccess.jar +./jre/lib/ext/jfxrt.jar +./jre/lib/ext/localedata.jar +./jre/lib/ext/meta-index +./jre/lib/ext/nashorn.jar +./jre/lib/ext/sunec.jar +./jre/lib/ext/sunjce_provider.jar +./jre/lib/ext/sunpkcs11.jar +./jre/lib/ext/zipfs.jar +./jre/lib/flavormap.properties +./jre/lib/fontconfig.Euler.properties +./jre/lib/fontconfig.properties +./jre/lib/fontconfig.Ubuntu.properties +./jre/lib/fonts/Roboto-Regular.ttf +./jre/lib/hijrah-config-umalqura.properties +./jre/lib/images/cursors/cursors.properties +./jre/lib/images/cursors/invalid32x32.gif +./jre/lib/images/cursors/motif_CopyDrop32x32.gif +./jre/lib/images/cursors/motif_CopyNoDrop32x32.gif +./jre/lib/images/cursors/motif_LinkDrop32x32.gif +./jre/lib/images/cursors/motif_LinkNoDrop32x32.gif +./jre/lib/images/cursors/motif_MoveDrop32x32.gif +./jre/lib/images/cursors/motif_MoveNoDrop32x32.gif +./jre/lib/javafx-mx.jar +./jre/lib/javafx.properties +./jre/lib/jce.jar +./jre/lib/jexec +./jre/lib/jfr/default.jfc +./jre/lib/jfr.jar +./jre/lib/jfr/profile.jfc +./jre/lib/jfxswt.jar +./jre/lib/jsse.jar +./jre/lib/jvm.hprof.txt +./jre/lib/logging.properties +./jre/lib/management-agent.jar +./jre/lib/management/jmxremote.access +./jre/lib/management/jmxremote.password.template +./jre/lib/management/management.properties +./jre/lib/management/snmp.acl.template +./jre/lib/meta-index +./jre/lib/net.properties +./jre/lib/psfontj2d.properties +./jre/lib/psfont.properties.ja +./jre/lib/resources.jar +./jre/lib/rt.jar +./jre/lib/security/blacklisted.certs +./jre/lib/security/cacerts +./jre/lib/security/java.policy +./jre/lib/security/java.security +./jre/lib/security/policy/limited/local_policy.jar +./jre/lib/security/policy/limited/US_export_policy.jar +./jre/lib/security/policy/unlimited/local_policy.jar +./jre/lib/security/policy/unlimited/US_export_policy.jar +./jre/lib/sound.properties +./jre/lib/tzdb.dat +./jre/LICENSE +./jre/THIRD_PARTY_README +[client] +./bin/gsql +./bin/gs_dump +./bin/gs_dumpall +./bin/gs_restore +./bin/gs_basebackup +./bin/gs_probackup +./lib/postgresql/latin2_and_win1250.so +./lib/postgresql/euc2004_sjis2004.so +./lib/postgresql/euc_kr_and_mic.so +./lib/postgresql/utf8_and_uhc.so +./lib/postgresql/euc_tw_and_big5.so +./lib/postgresql/cyrillic_and_mic.so +./lib/postgresql/utf8_and_johab.so +./lib/postgresql/utf8_and_gb18030.so +./lib/postgresql/pgxs/src/makefiles/pgxs.mk +./lib/postgresql/pgxs/src/Makefile.shlib +./lib/postgresql/pgxs/src/Makefile.port +./lib/postgresql/pgxs/src/nls-global.mk +./lib/postgresql/pgxs/src/Makefile.global +./lib/postgresql/pgxs/config/install-sh +./lib/postgresql/euc_cn_and_mic.so +./lib/postgresql/latin_and_mic.so +./lib/postgresql/utf8_and_sjis2004.so +./lib/postgresql/utf8_and_euc_jp.so +./lib/postgresql/utf8_and_sjis.so +./lib/postgresql/utf8_and_cyrillic.so +./lib/postgresql/utf8_and_euc_kr.so +./lib/postgresql/ascii_and_mic.so +./lib/postgresql/utf8_and_iso8859_1.so +./lib/postgresql/euc_jp_and_sjis.so +./lib/postgresql/dict_snowball.so +./lib/postgresql/utf8_and_ascii.so +./lib/postgresql/utf8_and_euc_tw.so +./lib/postgresql/utf8_and_iso8859.so +./lib/postgresql/utf8_and_win.so +./lib/postgresql/utf8_and_euc_cn.so +./lib/postgresql/utf8_and_gbk.so +./lib/postgresql/utf8_and_euc2004.so +./lib/postgresql/utf8_and_big5.so +./lib/postgresql/java/pljava.jar +./lib/libpljava.so +./lib/libpq.a +./lib/libpq.so +./lib/libpq.so.5 +./lib/libpq.so.5.5 +./lib/libpq_ce.so +./lib/libpq_ce.so.5 +./lib/libpq_ce.so.5.5 +./lib/libgauss_cl_jni.so +./lib/libconfig.so* +./lib/libcrypto.so* +./lib/libstdc++.so.6 +./lib/libssl.so* +./lib/libpgport_tool.so +./lib/libpgport_tool.so.1 +./lib/libgssapi_krb5_gauss.so* +./lib/libgssrpc_gauss.so* +./lib/libk5crypto_gauss.so* +./lib/libkrb5support_gauss.so* +./lib/libkrb5_gauss.so* +./lib/libcom_err_gauss.so* +./lib/libcjson.so* +[libpq] +./lib/libpq.a +./lib/libpq.so +./lib/libpq.so.5 +./lib/libpq.so.5.5 +./lib/libpq_ce.so +./lib/libpq_ce.so.5 +./lib/libpq_ce.so.5.5 +./lib/libgauss_cl_jni.so +./lib/libconfig.so* +./lib/libcrypto.so* +./lib/libstdc++.so.6 +./lib/libssl.so* +./lib/libpgport_tool.so +./lib/libpgport_tool.so.1 +./lib/libgssapi_krb5_gauss.so* +./lib/libgssrpc_gauss.so* +./lib/libk5crypto_gauss.so* +./lib/libkrb5support_gauss.so* +./lib/libkrb5_gauss.so* +./lib/libcom_err_gauss.so* +./lib/libcjson.so* +./include/gs_thread.h +./include/gs_threadlocal.h +./include/postgres_ext.h +./include/libpq-fe.h +./include/libpq-events.h +./include/libpq/libpq-fs.h +[header] +./include/libpq-fe.h +./include/postgres_ext.h +./include/gs_thread.h +./include/gs_threadlocal.h +./include/pg_config.h +./include/pg_config_manual.h +./include/pg_config_os.h +./include/cm_config.h +./include/c.h +./include/port.h +./include/libpq-int.h +./include/pqcomm.h +./include/pqexpbuffer.h +./include/xlogdefs.h +./include/cm-libpq-fe.h diff --git a/build/script/utils/common.sh b/build/script/utils/common.sh index 0cf96f8c863c2933efe120a50fd0d718fcc007b8..1264dd75b861ad6c053261cac075ef4e862cf912 100644 --- a/build/script/utils/common.sh +++ b/build/script/utils/common.sh @@ -104,6 +104,10 @@ else gcc_version="7.3" fi +if [ "$PLATFORM_ARCH"X == "loongarch64"X ];then + gcc_version="8.3" +fi + if [ "$PLATFORM_ARCH"X == "aarch64"X ] && [ "$gcc_version" == "10.3" ]; then gcc_sub_version="1" else diff --git a/build/script/utils/make_compile.sh b/build/script/utils/make_compile.sh index f2447b1fec0c318a7d3d7767b1997c54e87a36ec..230ab0eb3f7b1907485d9ea81b52990b37545bb4 100644 --- a/build/script/utils/make_compile.sh +++ b/build/script/utils/make_compile.sh @@ -144,7 +144,7 @@ function install_gaussdb() echo "Begin configure." >> "$LOG_FILE" 2>&1 chmod 755 configure - if [ "$product_mode"x == "opengauss"x ]; then + if [ "$product_mode"x == "opengauss"x -a "$PLATFORM_ARCH"x != "loongarch64"x ]; then enable_readline="--with-readline" else enable_readline="--without-readline" @@ -158,6 +158,17 @@ function install_gaussdb() shared_opt="--gcc-version=${gcc_version}.${gcc_sub_version} --prefix="${BUILD_DIR}" --3rd=${binarylib_dir} --enable-thread-safety ${enable_readline} ${with_tassl} --without-zlib" if [ "$product_mode"x == "opengauss"x ]; then + GAUSSDB_EXTRA_FLAGS=" " + + if [[ "$PLATFORM_ARCH"x == "x86_64"x || "$PLATFORM_ARCH"x == "aarch64"x ]] ; then + extra_config_opt+=" --enable-mot --enable-bbox " + fi + + if [ "$PLATFORM_ARCH"x = "loongarch64"x ] ; then + GAUSSDB_EXTRA_FLAGS+=" -D__USE_SPINLOCK" + extra_config_opt+=" --enable-llvm=no --disable-jemalloc " + fi + if [ "$version_mode"x == "release"x ]; then # configure -D__USE_NUMA -D__ARM_LSE with arm opengauss mode if [ "$PLATFORM_ARCH"X == "aarch64"X ] ; then @@ -165,15 +176,15 @@ function install_gaussdb() GAUSSDB_EXTRA_FLAGS=" -D__USE_NUMA -D__ARM_LSE" fi - ./configure $shared_opt CFLAGS="-O2 -g3 ${GAUSSDB_EXTRA_FLAGS}" --enable-mot CC=g++ $extra_config_opt >> "$LOG_FILE" 2>&1 + ./configure $shared_opt CFLAGS="-O2 -g3 ${GAUSSDB_EXTRA_FLAGS}" CC=g++ $extra_config_opt >> "$LOG_FILE" 2>&1 elif [ "$version_mode"x == "memcheck"x ]; then - ./configure $shared_opt CFLAGS="-O0" --enable-mot --enable-debug --enable-cassert --enable-memory-check CC=g++ $extra_config_opt >> "$LOG_FILE" 2>&1 + ./configure $shared_opt CFLAGS="-O0" --enable-debug --enable-cassert --enable-memory-check CC=g++ $extra_config_opt >> "$LOG_FILE" 2>&1 elif [ "$version_mode"x == "fiurelease"x ]; then - ./configure $shared_opt CFLAGS="-O2 -g3 ${GAUSSDB_EXTRA_FLAGS}" --enable-mot --disable-jemalloc CC=g++ $extra_config_opt >> "$LOG_FILE" 2>&1 + ./configure $shared_opt CFLAGS="-O2 -g3 ${GAUSSDB_EXTRA_FLAGS}" --disable-jemalloc CC=g++ $extra_config_opt >> "$LOG_FILE" 2>&1 elif [ "$version_mode"x == "fiudebug"x ]; then - ./configure $shared_opt CFLAGS="-O0 ${GAUSSDB_EXTRA_FLAGS}" --enable-mot --enable-debug --enable-cassert --disable-jemalloc CC=g++ $extra_config_opt >> "$LOG_FILE" 2>&1 + ./configure $shared_opt CFLAGS="-O0 ${GAUSSDB_EXTRA_FLAGS}" --enable-debug --enable-cassert --disable-jemalloc CC=g++ $extra_config_opt >> "$LOG_FILE" 2>&1 else - ./configure $shared_opt CFLAGS="-O0 ${GAUSSDB_EXTRA_FLAGS}" --enable-mot --enable-debug --enable-cassert CC=g++ $extra_config_opt >> "$LOG_FILE" 2>&1 + ./configure $shared_opt CFLAGS="-O0 ${GAUSSDB_EXTRA_FLAGS}" --enable-debug --enable-cassert CC=g++ $extra_config_opt >> "$LOG_FILE" 2>&1 fi elif [ "$product_mode"x == "lite"x ]; then shared_opt="--gcc-version=${gcc_version}.${gcc_sub_version} --prefix="${BUILD_DIR}" --3rd=${binarylib_dir} --enable-thread-safety ${enable_readline} ${with_tassl} --without-zlib --without-gssapi --without-krb5" diff --git a/cmake/src/build_options.cmake b/cmake/src/build_options.cmake index b4e33eb4ebac1079521058dfa63ca956c50b1315..82c543b96918bd7b9c54116e24265eedbbaec309 100755 --- a/cmake/src/build_options.cmake +++ b/cmake/src/build_options.cmake @@ -63,6 +63,8 @@ option(ENABLE_NUMA "enable numa,the old is --enable-numa" ON) option(ENABLE_LSE "enable lse,the old is --enable-lse" ON) option(ENABLE_MYSQL_FDW "enable export or import data with mysql,the old is --enable-mysql-fdw" OFF) option(ENABLE_ORACLE_FDW "enable export or import data with oracle,the old is --enable-oracle-fdw" OFF) +option(ENABLE_BBOX "enable bbox,the old is --enable-bbox " ON) +option(ENABLE_JEMALLOC "enable jemalloc,the old is --enable-jemalloc " ON) option(BUILD_BY_CMAKE "the BUILD_BY_CMAKE is new,used in distribute pg_regress.cpp" ON) option(DEBUG_UHEAP "collect USTORE statistics" OFF) option(MAX_ALLOC_SEGNUM "max alloc xlog seg num in extreme_rto" 4) diff --git a/config/config.guess b/config/config.guess index d622a44e551f209d5e8c5462b3fe53a162f7b330..15f22ac76f7b787f05270113e8ce21a448358606 100644 --- a/config/config.guess +++ b/config/config.guess @@ -138,6 +138,33 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown +case "$UNAME_SYSTEM" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval "$set_cc_for_build" + cat <<-EOF > "$dummy.c" + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" + + # If ldd exists, use it to detect musl libc. + if command -v ldd >/dev/null && \ + ldd --version 2>&1 | grep -q ^musl + then + LIBC=musl + fi + ;; +esac # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in @@ -933,6 +960,9 @@ EOF m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; + loongarch*:Linux:*:*) + echo "$UNAME_MACHINE"-linux-"$LIBC" + exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c diff --git a/config/config.sub b/config/config.sub index 02df9f8bfc414154882770c936024d0f7ae0b6b3..6e5c23c538783b81be6d923131bef7aedadaaffb 100644 --- a/config/config.sub +++ b/config/config.sub @@ -274,6 +274,7 @@ case $basic_machine in | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ + | loongarch32 | loongarch64 \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -390,6 +391,7 @@ case $basic_machine in | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | loongarch32-* | loongarch64-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ diff --git a/configure b/configure index 873c0e3ae758fe460e6e6345ea8aebdcd9b7a875..9abd56c01d6fde12ccc9ea058b61dd2a006b3573 100755 --- a/configure +++ b/configure @@ -756,6 +756,7 @@ enable_multiple_nodes enable_lite_mode enable_finance_mode enable_mot +enable_bbox enable_memory_check enable_mysql_fdw enable_oracle_fdw @@ -843,6 +844,7 @@ enable_multiple_nodes enable_lite_mode enable_finance_mode enable_mot +enable_bbox enable_memory_check enable_mysql_fdw enable_oracle_fdw @@ -2464,7 +2466,10 @@ fi # Add non-standard directories to the library search path # - +PLATFORM_ARCH=$(uname -p) +if [ "$PLATFORM_ARCH"X == "unknown"X ]; then + PLATFORM_ARCH=$(uname -m) +fi # Check whether --with-libraries was given. if test "${with_libraries+set}" = set; then @@ -3268,6 +3273,10 @@ else fi +if [ "$PLATFORM_ARCH"X = "loongarch64"X ]; then + enable_mot=no +fi + if test "$enable_multiple_nodes" = yes; then enable_mot=no @@ -3286,6 +3295,34 @@ _ACEOF fi +# Check whether --enable-bbox was given. +if test "${enable_bbox+set}" = set; then + enableval=$enable_bbox; + case $enableval in + yes) + : + ;; + no) + : + ;; + *) + enable_bbox=no + ;; + esac + +else + enable_bbox=no + +fi + +if test "$enable_bbox" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define ENABLE_BBOX 1 +_ACEOF + +fi + # # --with-openeuler-os enable # @@ -5934,14 +5971,13 @@ if test "${enable_llvm+set}" = set; then if test "$enable_lite_mode" = yes; then { $as_echo "$as_me:$LINENO: enable_lite_mode is open, llvm will close" >&5 $as_echo "$as_me: enable_lite_mode is open, llvm will close" >&2;} +enable_llvm=no else -cat >>confdefs.h <<\_ACEOF -#define ENABLE_LLVM_COMPILE 1 -_ACEOF +enable_llvm=yes fi ;; no) - : +enable_llvm=no ;; *) { { $as_echo "$as_me:$LINENO: error: no argument expected for --enable-llvm option" >&5 @@ -5954,14 +5990,18 @@ else if test "$enable_lite_mode" = yes; then { $as_echo "$as_me:$LINENO: enable_lite_mode is open, llvm will close" >&5 $as_echo "$as_me: enable_lite_mode is open, llvm will close" >&2;} +enable_llvm=no else -cat >>confdefs.h <<\_ACEOF -#define ENABLE_LLVM_COMPILE 1 -_ACEOF +enable_llvm=yes fi fi +if test "$enable_llvm" = yes; then +cat >>confdefs.h <<\_ACEOF +#define ENABLE_LLVM_COMPILE 1 +_ACEOF + llvm_version_str='10.0.0' if [[ ! -z "${with_3rdpartydir}" ]] && [[ "$enable_lite_mode" != yes ]]; then llvm_version_str=`${with_3rdpartydir}/kernel/dependency/llvm/comm/bin/llvm-config --version` @@ -5973,6 +6013,7 @@ cat >>confdefs.h <<_ACEOF #define LLVM_MAJOR_VERSION $llvm_major_version #define LLVM_MINOR_VERSION $llvm_minor_version _ACEOF +fi # # Enable ut diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 4a2086fd2f45ea809a40b36270e06d5f926a6ac5..3d7455466e2cfa1956e3d31745c0ff71a99af1a3 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -176,6 +176,8 @@ enable_multiple_nodes = @enable_multiple_nodes@ enable_lite_mode = @enable_lite_mode@ enable_finance_mode = @enable_finance_mode@ enable_mot = @enable_mot@ +enable_bbox = @enable_bbox@ +enable_llvm = @enable_llvm@ enable_mysql_fdw = @enable_mysql_fdw@ enable_oracle_fdw = @enable_oracle_fdw@ enable_memory_check = @enable_memory_check@ @@ -497,12 +499,19 @@ LIBHOTPATCH_TOOL_PATH = $(LIBHOTPATCH_HOME)/tool ############################################################################# # llvm component ############################################################################# -LIBLLVM_BIN = $(LIBLLVM_HOME)/bin -LIBLLVM_INCLUDE_PATH = $(LIBLLVM_HOME)/include -LIBLLVM_LIB_PATH = $(LIBLLVM_HOME)/lib -LLVM_CONFIG = $(LIBLLVM_BIN)/llvm-config -ifneq ($(enable_lite_mode), yes) - LLVM_LIBS = $(shell $(LLVM_CONFIG) --libs) + +ifeq ($(enable_llvm), yes) + LIBLLVM_BIN = $(LIBLLVM_HOME)/bin + LIBLLVM_INCLUDE_PATH = $(LIBLLVM_HOME)/include + LIBLLVM_LIB_PATH = $(LIBLLVM_HOME)/lib + LLVM_CONFIG = $(LIBLLVM_BIN)/llvm-config + ifneq ($(enable_lite_mode), yes) + LLVM_LIBS = $(shell $(LLVM_CONFIG) --libs) + endif +else + LIBLLVM_INCLUDE_PATH = /usr/include + LIBLLVM_LIB_PATH = /usr/lib + LLVM_LIBS = endif ############################################################################# @@ -870,7 +879,9 @@ ifeq ($(SUPPORT_HOTPATCH), yes) LDFLAGS += -L$(LIBHOTPATCH_LIB_PATH) endif +ifeq ($(enable_bbox), yes) LDFLAGS += -L$(BBOX_LIB_PATH) +endif LDFLAGS += -L$(LIBODBC_LIB_PATH) LDFLAGS += -L$(LIBOBS_LIB_PATH) LDFLAGS += -L$(KERBEROS_LIB_PATH) diff --git a/src/common/backend/utils/misc/guc.cpp b/src/common/backend/utils/misc/guc.cpp index 209571a856dc7586a6afe973d3dacc8e173c6958..3c6c5aabc3f5378615cc25d234c184d87a9fba37 100755 --- a/src/common/backend/utils/misc/guc.cpp +++ b/src/common/backend/utils/misc/guc.cpp @@ -42,7 +42,9 @@ #ifdef ENABLE_WHITEBOX #include "access/ustore/knl_whitebox_test.h" #endif +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif #include "catalog/namespace.h" #include "catalog/pgxc_group.h" #include "catalog/storage_gtt.h" @@ -1679,7 +1681,11 @@ static void InitConfigureNamesBool() &u_sess->attr.attr_common.enable_bbox_dump, true, NULL, +#ifdef ENABLE_BBOX assign_bbox_coredump, +#else + NULL, +#endif /* ENABLE_BBOX */ NULL}, {{"enable_default_index_deduplication", PGC_POSTMASTER, @@ -3408,7 +3414,7 @@ static void InitConfigureNamesString() NULL, NULL}, - {{"thread_pool_stream_attr", + {{"thread_pool_stream_attr", PGC_POSTMASTER, NODE_ALL, CLIENT_CONN, @@ -3750,9 +3756,15 @@ static void InitConfigureNamesString() NULL}, &u_sess->attr.attr_common.bbox_dump_path, "", +#ifdef ENABLE_BBOX check_bbox_corepath, assign_bbox_corepath, show_bbox_dump_path}, +#else + NULL, + NULL, + NULL}, +#endif /* ENABLE_BBOX */ {{"alarm_component", PGC_POSTMASTER, @@ -4016,9 +4028,15 @@ static void InitConfigureNamesString() GUC_LIST_INPUT}, &g_instance.attr.attr_common.bbox_blacklist_items, "", +#ifdef ENABLE_BBOX check_bbox_blacklist, assign_bbox_blacklist, show_bbox_blacklist}, +#else + NULL, + NULL, + NULL}, +#endif /* ENABLE_BBOX */ {{"track_stmt_stat_level", PGC_USERSET, diff --git a/src/common/backend/utils/misc/guc/guc_memory.cpp b/src/common/backend/utils/misc/guc/guc_memory.cpp index d9d6a0cc44415c7cd3aa857282546015b1d6555f..716f2b1b652cdea464488af76e50010279a87f88 100644 --- a/src/common/backend/utils/misc/guc/guc_memory.cpp +++ b/src/common/backend/utils/misc/guc/guc_memory.cpp @@ -35,7 +35,9 @@ #include "access/twophase.h" #include "access/xact.h" #include "access/xlog.h" +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif #include "catalog/namespace.h" #include "catalog/pgxc_group.h" #include "catalog/storage_gtt.h" diff --git a/src/common/backend/utils/misc/guc/guc_network.cpp b/src/common/backend/utils/misc/guc/guc_network.cpp index 7fa274aca0c63445dfbe62a3bd80589d13cdee1c..647f4c41417dbe0f90723ccc7b8198fd0533f7ea 100755 --- a/src/common/backend/utils/misc/guc/guc_network.cpp +++ b/src/common/backend/utils/misc/guc/guc_network.cpp @@ -36,7 +36,9 @@ #include "access/twophase.h" #include "access/xact.h" #include "access/xlog.h" +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif #include "catalog/namespace.h" #include "catalog/pgxc_group.h" #include "catalog/storage_gtt.h" diff --git a/src/common/backend/utils/misc/guc/guc_resource.cpp b/src/common/backend/utils/misc/guc/guc_resource.cpp index a417b942efb0c7e78a3c451d432cf11066d571bc..4bbc6bf5df2f8cbddc082db1a80038657f48bc18 100644 --- a/src/common/backend/utils/misc/guc/guc_resource.cpp +++ b/src/common/backend/utils/misc/guc/guc_resource.cpp @@ -35,7 +35,9 @@ #include "access/twophase.h" #include "access/xact.h" #include "access/xlog.h" +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif #include "catalog/namespace.h" #include "catalog/pgxc_group.h" #include "catalog/storage_gtt.h" diff --git a/src/common/backend/utils/misc/guc/guc_security.cpp b/src/common/backend/utils/misc/guc/guc_security.cpp index 6aafe06fe75bf84e3881ab2c12e0f52d5ec8c2e3..05628f159c887dbc985b8e511257573f18e0bb9b 100755 --- a/src/common/backend/utils/misc/guc/guc_security.cpp +++ b/src/common/backend/utils/misc/guc/guc_security.cpp @@ -35,7 +35,9 @@ #include "access/twophase.h" #include "access/xact.h" #include "access/xlog.h" +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif #include "catalog/namespace.h" #include "catalog/pgxc_group.h" #include "catalog/storage_gtt.h" diff --git a/src/common/backend/utils/misc/guc/guc_sql.cpp b/src/common/backend/utils/misc/guc/guc_sql.cpp index 12f870a369d78508830bb7f84b63895e438631ca..e0b7431f09ad33b1f953899d5b6edb33d2002caf 100755 --- a/src/common/backend/utils/misc/guc/guc_sql.cpp +++ b/src/common/backend/utils/misc/guc/guc_sql.cpp @@ -38,7 +38,9 @@ #include "access/xlog.h" #include "access/ustore/knl_whitebox_test.h" #include "access/ubtree.h" +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif #include "catalog/namespace.h" #include "catalog/pgxc_group.h" #include "catalog/storage_gtt.h" diff --git a/src/common/backend/utils/misc/guc/guc_storage.cpp b/src/common/backend/utils/misc/guc/guc_storage.cpp index c335f3215addec42a534e15d26e1c0c5519a1508..5be5bcb76319229fd0bb3829f7f6658cc1c956aa 100755 --- a/src/common/backend/utils/misc/guc/guc_storage.cpp +++ b/src/common/backend/utils/misc/guc/guc_storage.cpp @@ -37,7 +37,9 @@ #include "access/twophase.h" #include "access/xact.h" #include "access/xlog.h" +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif #include "catalog/namespace.h" #include "catalog/pgxc_group.h" #include "catalog/storage_gtt.h" diff --git a/src/common/port/CMakeLists.txt b/src/common/port/CMakeLists.txt index 58e05213dbc6f985009fd0862c0394d1b6610b1c..b9a6a282ae6c7b4e745f5243a1c26ad0828176c3 100755 --- a/src/common/port/CMakeLists.txt +++ b/src/common/port/CMakeLists.txt @@ -90,6 +90,10 @@ if("${BUILD_TUPLE}" STREQUAL "aarch64") set(TGT_crc32_arm_parallel_SRC ${CMAKE_CURRENT_SOURCE_DIR}/crc32_arm_parallel.S) endif() +if("${BUILD_TUPLE}" STREQUAL "loongarch64") + list(REMOVE_ITEM TGT_port_SRC ${CMAKE_CURRENT_SOURCE_DIR}/pg_crc32c_choose.cpp ${CMAKE_CURRENT_SOURCE_DIR}/pg_crc32c_sse42.cpp) +endif() + SET(TGT_pgport_INC ${PROJECT_SRC_DIR}/common/backend ${PROJECT_SRC_DIR}/common/port @@ -158,6 +162,11 @@ if("${BUILD_TUPLE}" STREQUAL "aarch64") list(REMOVE_ITEM TGT_pgport_srv_SRC ${CMAKE_CURRENT_SOURCE_DIR}/port_srv/pg_crc32c_sb8.cpp ${CMAKE_CURRENT_SOURCE_DIR}/port_srv/pg_crc32c_sse42.cpp) set(TGT_crc32_arm_parallel_srv_SRC ${CMAKE_CURRENT_SOURCE_DIR}/port_srv/crc32_arm_parallel.S) endif() + +if("${BUILD_TUPLE}" STREQUAL "loongarch64") + list(REMOVE_ITEM TGT_pgport_srv_SRC ${CMAKE_CURRENT_SOURCE_DIR}/port_srv/pg_crc32c_choose.cpp ${CMAKE_CURRENT_SOURCE_DIR}/port_srv/pg_crc32c_sse42.cpp) +endif() + SET(TGT_pgport_srv_INC ${PROJECT_SRC_DIR}/common/backend ${PROJECT_SRC_DIR}/common/port diff --git a/src/common/port/Makefile b/src/common/port/Makefile index 38bdcf7bd397f187baac76a3670b192eb78d539b..c3d78c261e1a140ec24a1940cf1b811f43b33c0c 100644 --- a/src/common/port/Makefile +++ b/src/common/port/Makefile @@ -44,7 +44,7 @@ ifneq "$(MAKECMDGOALS)" "clean" endif endif -OBJS = $(LIBOBJS) pg_crc32c_sse42.o pg_crc32c_sb8.o pg_crc32c_choose.o chklocale.o dirmod.o erand48.o exec.o fls.o inet_net_ntop.o \ +OBJS = $(LIBOBJS) chklocale.o dirmod.o erand48.o exec.o fls.o inet_net_ntop.o \ noblock.o path.o pg_bitutils.o pgcheckdir.o pgmkdirp.o pgsleep.o \ pgstrcasecmp.o qsort.o qsort_arg.o sprompt.o thread.o flock.o pgstrcasestr.o\ gs_thread.o gs_env_r.o gs_getopt_r.o \ @@ -54,15 +54,12 @@ OBJS = $(LIBOBJS) pg_crc32c_sse42.o pg_crc32c_sb8.o pg_crc32c_choose.o chklocale $(top_builddir)/src/gausskernel/storage/file/fio_device.o $(top_builddir)/src/gausskernel/storage/dss/fio_dss.o ifeq "${host_cpu}" "aarch64" -OBJS = $(LIBOBJS) pg_crc32c_choose.o chklocale.o dirmod.o erand48.o exec.o fls.o inet_net_ntop.o \ - noblock.o path.o pg_bitutils.o pgcheckdir.o pgmkdirp.o pgsleep.o \ - pgstrcasecmp.o qsort.o qsort_arg.o sprompt.o thread.o flock.o pgstrcasestr.o\ - gs_thread.o gs_env_r.o gs_getopt_r.o \ - gs_readdir.o gs_strerror.o gs_syscall_lock.o \ - gs_system.o \ - cipher.o tool_common.o \ - $(top_builddir)/src/gausskernel/storage/file/fio_device.o $(top_builddir)/src/gausskernel/storage/dss/fio_dss.o -endif +OBJS += pg_crc32c_choose.o +else ifeq "${host_cpu}" "x86_64" +OBJS += pg_crc32c_sse42.o pg_crc32c_sb8.o pg_crc32c_choose.o +else +OBJS += pg_crc32c_sb8.o +endif # foo_srv.o and foo.o are both built from foo.c, but only foo.o has -DFRONTEND OBJS_SRV = $(OBJS:%.o=%_srv.o) diff --git a/src/gausskernel/CMakeLists.txt b/src/gausskernel/CMakeLists.txt index 863872bbb825bcdd1b3890c0890c4e659d6f615e..10a9fb1189381160076e1619ef3dd2766462fdd4 100755 --- a/src/gausskernel/CMakeLists.txt +++ b/src/gausskernel/CMakeLists.txt @@ -139,6 +139,12 @@ set(gaussdb_objects $ ) +if("${ENABLE_BBOX}" STREQUAL "OFF") +list(REMOVE_ITEM gaussdb_objects + $ +) +endif() + if("${ENABLE_MULTIPLE_NODES}" STREQUAL "OFF") list(APPEND gaussdb_objects $ @@ -294,11 +300,15 @@ if(${USE_LIBXML}) endif() if(NOT "${ENABLE_LITE_MODE}" STREQUAL "ON") - list(APPEND gaussdb_LINK_LIBS -lz -lminiunz -leSDKOBS -leSDKLogAPI -lpcre -liconv -lnghttp2 -llog4cpp -lcurl -llz4 -lcjson -l${JEMALLOC_LIB_NAME} -lcgroup -lzstd -lcom_err_gauss -lgssapi_krb5_gauss -lkrb5_gauss -lgssrpc_gauss -lk5crypto_gauss -lkadm5clnt_mit -lkadm5srv_mit -lkdb5 -lkrb5support_gauss -lstdc++ -lboost_thread -lboost_chrono -lboost_system -lboost_atomic -lxml2 -laio -lncurses -ltinfo) + list(APPEND gaussdb_LINK_LIBS -lz -lminiunz -leSDKOBS -leSDKLogAPI -lpcre -liconv -lnghttp2 -llog4cpp -lcurl -llz4 -lcjson -l${JEMALLOC_LIB_NAME} -lcgroup -lzstd -lcom_err_gauss -lgssapi_krb5_gauss -lkrb5_gauss -lgssrpc_gauss -lk5crypto_gauss -lkadm5clnt_mit -lkadm5srv_mit -lkdb5 -lkrb5support_gauss -lstdc++ -lboost_thread -lboost_chrono -lboost_system -lboost_atomic -lxml2 -laio -lncurses -ltinfo -latomic) else() list(APPEND gaussdb_LINK_LIBS -lz -lminiunz -lcurl -llz4 -lcjson -l${JEMALLOC_LIB_NAME} -lcgroup -lzstd -lncurses -ltinfo -lboost_thread -lboost_chrono -lboost_system -lboost_atomic) endif() +if(NOT "${ENABLE_JEMALLOC}" STREQUAL "ON") + list(REMOVE_ITEM gaussdb_LINK_LIBS -l${JEMALLOC_LIB_NAME}) +endif() + include_directories( ${LIBCURL_INCLUDE_PATH} ${LIBOPENSSL_INCLUDE_PATH} diff --git a/src/gausskernel/Makefile b/src/gausskernel/Makefile index b54aaad78378f41e952c0bb6efcdf2cc2ba87de9..ddfaf12165a19b9785c49937b9299e7013f80caf 100755 --- a/src/gausskernel/Makefile +++ b/src/gausskernel/Makefile @@ -145,6 +145,7 @@ ifeq ($(SUPPORT_HOTPATCH), yes) CRC_CHECK=$(LIBHOTPATCH_TOOL_PATH)/makepatch -CHECK -CRC gaussdb > $(CRC_LOG) endif +LIBS += -latomic ########################################################################## # append lz4 for compression : lz4.a or lz4.a ############################################################################ @@ -657,10 +658,11 @@ endif ifeq ($(enable_lite_mode), no) cp -r $(with_jdk)/jre/* '$(DESTDIR)$(bindir)/../jre/' - +ifneq ($(host_cpu), loongarch64) cp $(PLJAVA_LIB_PATH)/* '$(DESTDIR)$(libdir)/' cp $(PLJAVA_JAR_PATH)/$(JARPLJAVA) '$(DESTDIR)$(pkglibdir)/java/' cp $(PLJAVA_HOME)/udstools.py '$(DESTDIR)$(datadir)/tmp/' +endif endif cp '$(top_builddir)/src/include/ssl/openssl_gsql.cnf' '$(DESTDIR)$(datadir)/../sslcert/gsql/openssl.cnf' diff --git a/src/gausskernel/Makefile_for_llt b/src/gausskernel/Makefile_for_llt index 7dfb9ea7ad5fd9cf9259d6fe6df185c52c7bc2d3..e593bdd7d966ff1f02e10c2e506c979d431bbe99 100755 --- a/src/gausskernel/Makefile_for_llt +++ b/src/gausskernel/Makefile_for_llt @@ -74,9 +74,11 @@ OBJS = $(SUBDIROBJS) $(LOCALOBJS) \ LIBS := $(filter-out -lpgport, $(LIBS)) $(LDAP_LIBS_BE) # the link options for llvm -LLVM_ZLIB_NAME=z -LLVMLIBS := -L$(LIBLLVM_LIB_PATH) -L$(LIBTINFO_LIB_PATH) -l$(LLVM_ZLIB_NAME) -pthread -lncurses -lrt -ldl -lm -lLLVMInstrumentation -lLLVMIRReader -lLLVMAsmParser -lLLVMDebugInfo -lLLVMOption -lLLVMLTO -lLLVMLinker -lLLVMipo -lLLVMVectorize -lLLVMBitWriter -lLLVMBitReader -lLLVMTableGen -lLLVMR600CodeGen -lLLVMR600Desc -lLLVMR600Info -lLLVMR600AsmPrinter -lLLVMSystemZDisassembler -lLLVMSystemZCodeGen -lLLVMSystemZAsmParser -lLLVMSystemZDesc -lLLVMSystemZInfo -lLLVMSystemZAsmPrinter -lLLVMHexagonCodeGen -lLLVMHexagonAsmPrinter -lLLVMHexagonDesc -lLLVMHexagonInfo -lLLVMNVPTXCodeGen -lLLVMNVPTXDesc -lLLVMNVPTXInfo -lLLVMNVPTXAsmPrinter -lLLVMCppBackendCodeGen -lLLVMCppBackendInfo -lLLVMMSP430CodeGen -lLLVMMSP430Desc -lLLVMMSP430Info -lLLVMMSP430AsmPrinter -lLLVMXCoreDisassembler -lLLVMXCoreCodeGen -lLLVMXCoreDesc -lLLVMXCoreInfo -lLLVMXCoreAsmPrinter -lLLVMMipsDisassembler -lLLVMMipsCodeGen -lLLVMMipsAsmParser -lLLVMMipsDesc -lLLVMMipsInfo -lLLVMMipsAsmPrinter -lLLVMARMDisassembler -lLLVMARMCodeGen -lLLVMARMAsmParser -lLLVMARMDesc -lLLVMARMInfo -lLLVMARMAsmPrinter -lLLVMAArch64Disassembler -lLLVMAArch64CodeGen -lLLVMAArch64AsmParser -lLLVMAArch64Desc -lLLVMAArch64Info -lLLVMAArch64AsmPrinter -lLLVMAArch64Utils -lLLVMPowerPCCodeGen -lLLVMPowerPCAsmParser -lLLVMPowerPCDesc -lLLVMPowerPCInfo -lLLVMPowerPCAsmPrinter -lLLVMSparcCodeGen -lLLVMSparcDesc -lLLVMSparcInfo -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMMCDisassembler -lLLVMMCParser -lLLVMInterpreter -lLLVMMCJIT -lLLVMJIT -lLLVMCodeGen -lLLVMObjCARCOpts -lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport -ltinfo - +ifeq ($(enable_llvm), yes) + # the link options for llvm + LLVM_ZLIB_NAME=z + LLVMLIBS := -L$(LIBLLVM_LIB_PATH) -L$(LIBTINFO_LIB_PATH) -l$(LLVM_ZLIB_NAME) -pthread -lncurses -lrt -ldl -lm -lLLVMInstrumentation -lLLVMIRReader -lLLVMAsmParser -lLLVMDebugInfo -lLLVMOption -lLLVMLTO -lLLVMLinker -lLLVMipo -lLLVMVectorize -lLLVMBitWriter -lLLVMBitReader -lLLVMTableGen -lLLVMR600CodeGen -lLLVMR600Desc -lLLVMR600Info -lLLVMR600AsmPrinter -lLLVMSystemZDisassembler -lLLVMSystemZCodeGen -lLLVMSystemZAsmParser -lLLVMSystemZDesc -lLLVMSystemZInfo -lLLVMSystemZAsmPrinter -lLLVMHexagonCodeGen -lLLVMHexagonAsmPrinter -lLLVMHexagonDesc -lLLVMHexagonInfo -lLLVMNVPTXCodeGen -lLLVMNVPTXDesc -lLLVMNVPTXInfo -lLLVMNVPTXAsmPrinter -lLLVMCppBackendCodeGen -lLLVMCppBackendInfo -lLLVMMSP430CodeGen -lLLVMMSP430Desc -lLLVMMSP430Info -lLLVMMSP430AsmPrinter -lLLVMXCoreDisassembler -lLLVMXCoreCodeGen -lLLVMXCoreDesc -lLLVMXCoreInfo -lLLVMXCoreAsmPrinter -lLLVMMipsDisassembler -lLLVMMipsCodeGen -lLLVMMipsAsmParser -lLLVMMipsDesc -lLLVMMipsInfo -lLLVMMipsAsmPrinter -lLLVMARMDisassembler -lLLVMARMCodeGen -lLLVMARMAsmParser -lLLVMARMDesc -lLLVMARMInfo -lLLVMARMAsmPrinter -lLLVMAArch64Disassembler -lLLVMAArch64CodeGen -lLLVMAArch64AsmParser -lLLVMAArch64Desc -lLLVMAArch64Info -lLLVMAArch64AsmPrinter -lLLVMAArch64Utils -lLLVMPowerPCCodeGen -lLLVMPowerPCAsmParser -lLLVMPowerPCDesc -lLLVMPowerPCInfo -lLLVMPowerPCAsmPrinter -lLLVMSparcCodeGen -lLLVMSparcDesc -lLLVMSparcInfo -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMMCDisassembler -lLLVMMCParser -lLLVMInterpreter -lLLVMMCJIT -lLLVMJIT -lLLVMCodeGen -lLLVMObjCARCOpts -lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport -ltinfo +endif # The backend doesn't need everything that's in LIBS, however LIBS := $(filter-out -lreadline -ledit -ltermcap -lncurses -lcurses, $(LIBS)) @@ -432,8 +434,10 @@ endif cp -d $(LZ4_LIB_PATH)/liblz4* '$(DESTDIR)$(libdir)/' cp -d $(XGBOOST_LIB_PATH)/libxgboost* '$(DESTDIR)$(libdir)/' cp -d $(CJSON_LIB_PATH)/libcjson* '$(DESTDIR)$(libdir)/' +ifneq ($(host_cpu), loogarch64) cp $(PLJAVA_LIB_PATH)/* '$(DESTDIR)$(libdir)/' cp $(PLJAVA_JAR_PATH)/$(JARPLJAVA) '$(DESTDIR)$(pkglibdir)/java/' +endif cp -r $(top_builddir)/../$(BUILD_TOOLS_PATH)/jdk8/jdk1.8.0_77/jre/* '$(DESTDIR)$(bindir)/../jre/' install-bin: gaussdb $(POSTGRES_IMP) installdirs libcgroup @@ -493,7 +497,9 @@ uninstall: rm -f '$(DESTDIR)$(bindir)/gaussdb$(X)' '$(DESTDIR)$(bindir)/gs_encrypt' rm -f $(DESTDIR)$(libdir)/libcgroup* rm -f $(DESTDIR)$(libdir)/libsimsearch/* +ifneq ($(host_cpu), loongarch64) rm -f '$(DESTDIR)$(libdir)/$(LIBPLJAVA)' '$(DESTDIR)$(pkglibdir)/java/$(JARPLJAVA)' +endif ifeq ($(MAKE_EXPORTS), true) rm -f '$(DESTDIR)$(pkglibdir)/$(POSTGRES_IMP)' diff --git a/src/gausskernel/cbb/CMakeLists.txt b/src/gausskernel/cbb/CMakeLists.txt index 1ac64307ede29cb95f3631e27fec99c881ef52aa..98db5faa8626311242c38aee96a8785da29abce5 100755 --- a/src/gausskernel/cbb/CMakeLists.txt +++ b/src/gausskernel/cbb/CMakeLists.txt @@ -14,7 +14,11 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/workload ) -add_subdirectory(bbox) +if("${ENABLE_BBOX}" STREQUAL "ON") + add_subdirectory(bbox) +else() + list(REMOVE_ITEM CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bbox) +endif() add_subdirectory(instruments) add_subdirectory(communication) add_subdirectory(extension) diff --git a/src/gausskernel/cbb/Makefile b/src/gausskernel/cbb/Makefile index df707a242a7ead41acbcb41c04c1f03017f5d797..a36139a0b62f01a6ff99da382f9279ea117b6b91 100644 --- a/src/gausskernel/cbb/Makefile +++ b/src/gausskernel/cbb/Makefile @@ -24,6 +24,9 @@ subdir = src/gausskernel/cbb top_builddir = ../../.. include $(top_builddir)/src/Makefile.global -SUBDIRS = extension grpc instruments communication workload utils bbox +SUBDIRS = extension grpc instruments communication workload utils +ifeq ($(enable_bbox), yes) +SUBDIRS += bbox +endif include $(top_srcdir)/src/gausskernel/common.mk diff --git a/src/gausskernel/process/postmaster/pagewriter.cpp b/src/gausskernel/process/postmaster/pagewriter.cpp index d4f84daf57c50344aca66ba293e0427136084800..ea99fe12eb89c1ed79eb6ed2fe6757620b58ca5b 100755 --- a/src/gausskernel/process/postmaster/pagewriter.cpp +++ b/src/gausskernel/process/postmaster/pagewriter.cpp @@ -426,6 +426,7 @@ bool is_dirty_page_queue_full(BufferDesc* buf) return false; } +#if (defined(__x86_64__) || defined(__aarch64__)) && !defined(__USE_SPINLOCK) bool atomic_push_pending_flush_queue(XLogRecPtr* queue_head_lsn, uint64* new_tail_loc) { uint128_u compare; @@ -458,6 +459,7 @@ loop: *new_tail_loc -= 1; return true; } +#endif bool push_pending_flush_queue(Buffer buffer) { @@ -465,10 +467,10 @@ bool push_pending_flush_queue(Buffer buffer) uint64 actual_loc; XLogRecPtr queue_head_lsn = InvalidXLogRecPtr; BufferDesc* buf_desc = GetBufferDescriptor(buffer - 1); - bool push_finish = false; Assert(XLogRecPtrIsInvalid(pg_atomic_read_u64(&buf_desc->extra->rec_lsn))); -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) + bool push_finish = false; push_finish = atomic_push_pending_flush_queue(&queue_head_lsn, &new_tail_loc); if (!push_finish) { return false; @@ -476,11 +478,15 @@ bool push_pending_flush_queue(Buffer buffer) #else SpinLockAcquire(&g_instance.ckpt_cxt_ctl->queue_lock); - if ((uint64)(get_dirty_page_num() + PAGE_QUEUE_SLOT_MIN_RESERVE_NUM) >= + if ((uint64)(g_instance.ckpt_cxt_ctl->dirty_page_queue_tail + - g_instance.ckpt_cxt_ctl->dirty_page_queue_head + + PAGE_QUEUE_SLOT_MIN_RESERVE_NUM) >= g_instance.ckpt_cxt_ctl->dirty_page_queue_size) { SpinLockRelease(&g_instance.ckpt_cxt_ctl->queue_lock); return false; } + + queue_head_lsn = g_instance.ckpt_cxt_ctl->dirty_page_queue_reclsn; new_tail_loc = g_instance.ckpt_cxt_ctl->dirty_page_queue_tail; g_instance.ckpt_cxt_ctl->dirty_page_queue_tail++; SpinLockRelease(&g_instance.ckpt_cxt_ctl->queue_lock); @@ -509,7 +515,7 @@ uint64 get_dirty_page_queue_tail() { uint64 tail = 0; -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) tail = pg_atomic_barrier_read_u64(&g_instance.ckpt_cxt_ctl->dirty_page_queue_tail); #else SpinLockAcquire(&g_instance.ckpt_cxt_ctl->queue_lock); diff --git a/src/gausskernel/process/postmaster/postmaster.cpp b/src/gausskernel/process/postmaster/postmaster.cpp index ec122ec019b519e64b609824ea6d8ec793000e5e..6c4ccb89265c318a8a3158e68b2ad088fd5502b7 100644 --- a/src/gausskernel/process/postmaster/postmaster.cpp +++ b/src/gausskernel/process/postmaster/postmaster.cpp @@ -66,7 +66,9 @@ */ #include "postgres.h" #include "knl/knl_variable.h" +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif #include #include #include @@ -344,7 +346,9 @@ pthread_rwlock_t hba_rwlock = PTHREAD_RWLOCK_INITIALIZER; extern bool data_catchup; extern bool wal_catchup; +#ifdef ENABLE_BBOX char g_bbox_dump_path[1024] = {0}; +#endif #define CHECK_FOR_PROCDIEPENDING() \ do { \ @@ -2222,13 +2226,17 @@ int PostmasterMain(int argc, char* argv[]) if (strlen(GetConfigOption(const_cast("unix_socket_directory"), true, false)) != 0) { PythonFencedMasterModel = true; +#ifdef ENABLE_BBOX /* disable bbox for fenced UDF process */ SetConfigOption("enable_bbox_dump", "false", PGC_POSTMASTER, PGC_S_ARGV); +#endif } #else if (FencedUDFMasterMode) { +#ifdef ENABLE_BBOX /* disable bbox for fenced UDF process */ SetConfigOption("enable_bbox_dump", "false", PGC_POSTMASTER, PGC_S_ARGV); +#endif } else if (!SelectConfigFiles(userDoption, progname)) { ExitPostmaster(1); } @@ -2854,8 +2862,10 @@ int PostmasterMain(int argc, char* argv[]) (void)gspqsignal(SIGXFSZ, SIG_IGN); /* ignored */ #endif +#ifdef ENABLE_BBOX /* core dump injection */ bbox_initialize(); +#endif /* * Initialize stats collection subsystem (this does NOT start the diff --git a/src/gausskernel/runtime/Makefile b/src/gausskernel/runtime/Makefile index 20138113ee98b4196a44e8cede8adaa6eaa4a156..95414a266ecb971c8955cbe00375e10578d50766 100644 --- a/src/gausskernel/runtime/Makefile +++ b/src/gausskernel/runtime/Makefile @@ -11,7 +11,9 @@ include $(top_builddir)/src/Makefile.global SUBDIRS = executor opfusion vecexecutor ifneq ($(enable_lite_mode), yes) -SUBDIRS += codegen +ifeq ($(enable_llvm), yes) + SUBDIRS += codegen +endif endif include $(top_srcdir)/src/gausskernel/common.mk diff --git a/src/gausskernel/runtime/executor/instrument.cpp b/src/gausskernel/runtime/executor/instrument.cpp index bcef542ce8a05097b0829e7977ac6146987fecd3..8ea1e90fbed8c1012031e4a7f3c47776e1f13fb2 100644 --- a/src/gausskernel/runtime/executor/instrument.cpp +++ b/src/gausskernel/runtime/executor/instrument.cpp @@ -87,12 +87,14 @@ static inline uint64 rdtsc(void) asm volatile("isb; mrs %0, cntvct_el0" : "=r"(cval) : : "memory"); return cval; -#else +#elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__)) uint32 hi = 0; uint32 lo = 0; asm volatile("rdtsc" : "=a"(lo), "=d"(hi)); return ((uint64)lo) | (((uint64)hi) << 32); +#else + return clock(); #endif } #else diff --git a/src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichash.cpp b/src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichash.cpp index 312f8e556eb6ac18025fc9a58f58d75b0d0c5015..4f1b28959dbe477ec8340f1a8fe92a074f6d1540 100644 --- a/src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichash.cpp +++ b/src/gausskernel/runtime/vecexecutor/vectorsonic/vsonichash.cpp @@ -30,8 +30,10 @@ #include "utils/dynahash.h" #ifdef __aarch64__ #include -#else +#elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__)) #include +#else +#include "port/pg_crc32c.h" #endif extern bool anls_opt_is_on(AnalysisOpt dfx_opt); @@ -42,8 +44,17 @@ extern bool anls_opt_is_on(AnalysisOpt dfx_opt); #ifdef __aarch64__ #define HASH_INT32_CRC(c, k) __crc32cw(c, k) -#else +#elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__)) #define HASH_INT32_CRC(c, k) _mm_crc32_u32(c, k) +#else +FORCE_INLINE + +uint32 __crc32cw_normal(uint32 seed, int32 key) +{ + return pg_comp_crc32c_sb8(seed, (const unsigned char *)&key, 4); +} + +#define HASH_INT32_CRC(c, k) __crc32cw_normal(c, k) #endif #define HASH_CRC_SEED 0xFFFFFFFF @@ -53,12 +64,12 @@ extern Datum hash_bi_key(Numeric key); FORCE_INLINE uint32 hashquickany(uint32 seed, register const unsigned char* data, register int len) { - const unsigned char* p = data; - const unsigned char* pend = p + len; - uint32 crc = seed; #ifdef __aarch64__ + const unsigned char* p = data; + const unsigned char* pend = p + len; + while (p + 8 <= pend) { crc = (uint32)__crc32d(crc, *((const uint64*)p)); p += 8; @@ -75,7 +86,9 @@ uint32 hashquickany(uint32 seed, register const unsigned char* data, register in crc = __crc32cb(crc, *p); p++; } -#else +#elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__)) + const unsigned char* p = data; + const unsigned char* pend = p + len; while (p + 8 <= pend) { crc = (uint32)_mm_crc32_u64(crc, *((const uint64*)p)); p += 8; @@ -92,6 +105,8 @@ uint32 hashquickany(uint32 seed, register const unsigned char* data, register in crc = _mm_crc32_u8(crc, *p); p++; } +#else + crc = pg_comp_crc32c_sb8(seed, data, len); #endif return crc; } diff --git a/src/gausskernel/storage/access/transam/double_write.cpp b/src/gausskernel/storage/access/transam/double_write.cpp index cd28e2fbc32e93346103f87482b777997c101c69..27558a4bf8fc7d0fb475eb2e1499f0703313a418 100644 --- a/src/gausskernel/storage/access/transam/double_write.cpp +++ b/src/gausskernel/storage/access/transam/double_write.cpp @@ -36,7 +36,9 @@ #include "utils/palloc.h" #include "gstrace/gstrace_infra.h" #include "gstrace/access_gstrace.h" +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif #include "postmaster/bgwriter.h" #include "knl/knl_thread.h" #include "tde_key_management/tde_key_storage.h" @@ -1539,9 +1541,12 @@ static void dw_file_cxt_init_batch(int id, dw_batch_file_context *batch_file_cxt (void)dw_recover_batch_file_head(batch_file_cxt); batch_file_cxt->buf = buf; + +#ifdef ENABLE_BBOX if (BBOX_BLACKLIST_DW_BUFFER) { bbox_blacklist_add(DW_BUFFER, buf, buf_size - BLCKSZ - BLCKSZ); } +#endif batch_file_cxt->write_pos = 0; batch_file_cxt->flush_page = 0; diff --git a/src/gausskernel/storage/access/transam/extreme_rto/dispatcher.cpp b/src/gausskernel/storage/access/transam/extreme_rto/dispatcher.cpp index eb77095e0abe2cb0f6bca901e0554ce499c6eedb..8a52568781e2f8eb103a74f11047d18f12c7b3d6 100755 --- a/src/gausskernel/storage/access/transam/extreme_rto/dispatcher.cpp +++ b/src/gausskernel/storage/access/transam/extreme_rto/dispatcher.cpp @@ -1634,7 +1634,7 @@ void ItemBlocksOfItemIsReplayed(RedoItem *item) void GetLsnCheckInfo(uint64 *curPosition, XLogRecPtr *curLsn) { volatile LsnCheckCtl *checkCtl = g_dispatcher->lsnCheckCtl; -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) uint128_u current = atomic_compare_and_swap_u128((uint128_u *)&checkCtl->curPosition); Assert(sizeof(checkCtl->curPosition) == sizeof(uint64)); Assert(sizeof(checkCtl->curLsn) == sizeof(XLogRecPtr)); @@ -1652,7 +1652,7 @@ void GetLsnCheckInfo(uint64 *curPosition, XLogRecPtr *curLsn) void SetLsnCheckInfo(uint64 curPosition, XLogRecPtr curLsn) { volatile LsnCheckCtl *checkCtl = g_dispatcher->lsnCheckCtl; -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) uint128_u exchange; uint128_u compare = atomic_compare_and_swap_u128((uint128_u *)&checkCtl->curPosition); diff --git a/src/gausskernel/storage/access/transam/extreme_rto/page_redo.cpp b/src/gausskernel/storage/access/transam/extreme_rto/page_redo.cpp index 1b2db5d13d8981d563f4a35812195f958f462c21..73dce2def4af84b9aafe392784bc78532a737222 100755 --- a/src/gausskernel/storage/access/transam/extreme_rto/page_redo.cpp +++ b/src/gausskernel/storage/access/transam/extreme_rto/page_redo.cpp @@ -263,7 +263,7 @@ void DestroyPageRedoWorker(PageRedoWorker *worker) void SetCompletedReadEndPtr(PageRedoWorker *worker, XLogRecPtr readPtr, XLogRecPtr endPtr) { volatile PageRedoWorker *tmpWk = worker; -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) uint128_u exchange; uint128_u current; uint128_u compare = atomic_compare_and_swap_u128((uint128_u *)&tmpWk->lastReplayedReadRecPtr); @@ -292,7 +292,7 @@ loop: void GetCompletedReadEndPtr(PageRedoWorker *worker, XLogRecPtr *readPtr, XLogRecPtr *endPtr) { volatile PageRedoWorker *tmpWk = worker; -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) uint128_u compare = atomic_compare_and_swap_u128((uint128_u *)&tmpWk->lastReplayedReadRecPtr); Assert(sizeof(tmpWk->lastReplayedReadRecPtr) == 8); Assert(sizeof(tmpWk->lastReplayedEndRecPtr) == 8); diff --git a/src/gausskernel/storage/access/transam/xlog.cpp b/src/gausskernel/storage/access/transam/xlog.cpp index e3af6b5a790bcff705f7fe444eb7abb2f8cabfd7..6be856183fd61dc2644831f3fcc690d579e5f747 100755 --- a/src/gausskernel/storage/access/transam/xlog.cpp +++ b/src/gausskernel/storage/access/transam/xlog.cpp @@ -66,7 +66,9 @@ #include "catalog/pg_database.h" #include "catalog/storage.h" #include "catalog/storage_xlog.h" +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif #include "libpq/pqsignal.h" #include "miscadmin.h" #ifdef PGXC @@ -895,7 +897,7 @@ static void ReserveXLogInsertByteLocation(uint32 size, uint32 lastRecordSize, ui * because the usable byte position doesn't include any headers, reserving * X bytes from WAL is almost as simple as "CurrBytePos += X". */ -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) union Union128 compare; union Union128 exchange; union Union128 current; @@ -933,25 +935,30 @@ loop: UINT128_COPY(compare.value, current.value); goto loop; } + + *currlrc_ptr = compare.struct128.LRC; + *StartBytePos = compare.struct128.currentBytePos; + *EndBytePos = exchange.struct128.currentBytePos; + *PrevBytePos = compare.struct128.currentBytePos - compare.struct128.byteSize; #else - uint64 startbytepos; - uint64 endbytepos; - uint64 prevbytepos; - +loop1: SpinLockAcquire(&Insert->insertpos_lck); - startbytepos = Insert->CurrBytePos; - endbytepos = startbytepos + size; - prevbytepos = Insert->PrevBytePos; - Insert->CurrBytePos = endbytepos; - Insert->PrevBytePos = endbytepos - lastRecordSize; + if (unlikely(Insert->CurrLRC == WAL_COPY_SUSPEND)) { + SpinLockRelease(&Insert->insertpos_lck); + goto loop1; + } + + *currlrc_ptr = Insert->CurrLRC; + *StartBytePos = Insert->CurrBytePos; + *EndBytePos = Insert->CurrBytePos + size; + *PrevBytePos = Insert->CurrBytePos - Insert->PrevByteSize; + Insert->CurrLRC = (Insert->CurrLRC + 1) & 0x7FFFFFFF; + Insert->PrevByteSize = lastRecordSize; + Insert->CurrBytePos = *EndBytePos; SpinLockRelease(&Insert->insertpos_lck); #endif /* __x86_64__ || __aarch64__ */ - *currlrc_ptr = compare.struct128.LRC; - *StartBytePos = compare.struct128.currentBytePos; - *EndBytePos = exchange.struct128.currentBytePos; - *PrevBytePos = compare.struct128.currentBytePos - compare.struct128.byteSize; } /* @@ -1412,7 +1419,7 @@ static void ReserveXLogInsertLocation(uint32 size, XLogRecPtr *StartPos, XLogRec * because the usable byte position doesn't include any headers, reserving * X bytes from WAL is almost as simple as "CurrBytePos += X". */ -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) union Union128 compare; union Union128 exchange; union Union128 current; @@ -1451,25 +1458,29 @@ loop1: goto loop1; } -#else - uint64 startbytepos; - uint64 endbytepos; - uint64 prevbytepos; + *currlrc_ptr = compare.struct128.LRC; + *StartPos = XLogBytePosToRecPtr(compare.struct128.currentBytePos); + *EndPos = XLogBytePosToEndRecPtr(exchange.struct128.currentBytePos); + *PrevPtr = XLogBytePosToRecPtr(compare.struct128.currentBytePos - compare.struct128.byteSize); +#else +loop1: SpinLockAcquire(&Insert->insertpos_lck); - - startbytepos = Insert->CurrBytePos; - prevbytepos = Insert->PrevBytePos; - endbytepos = startbytepos + size; - Insert->CurrBytePos = endbytepos; - Insert->PrevBytePos = startbytepos; + if (unlikely(Insert->CurrLRC == WAL_COPY_SUSPEND)) { + SpinLockRelease(&Insert->insertpos_lck); + pg_usleep(1); + goto loop1; + } + *currlrc_ptr = Insert->CurrLRC; + *PrevPtr = XLogBytePosToRecPtr(Insert->CurrBytePos - Insert->PrevByteSize); + *StartPos = XLogBytePosToRecPtr(Insert->CurrBytePos); + Insert->CurrBytePos = Insert->CurrBytePos + size; + *EndPos = XLogBytePosToEndRecPtr(Insert->CurrBytePos); + Insert->PrevByteSize = size; + Insert->CurrLRC = (Insert->CurrLRC + 1) & 0x7FFFFFFF; SpinLockRelease(&Insert->insertpos_lck); #endif /* __x86_64__|| __aarch64__ */ - *currlrc_ptr = compare.struct128.LRC; - *StartPos = XLogBytePosToRecPtr(compare.struct128.currentBytePos); - *EndPos = XLogBytePosToEndRecPtr(exchange.struct128.currentBytePos); - *PrevPtr = XLogBytePosToRecPtr(compare.struct128.currentBytePos - compare.struct128.byteSize); } /* @@ -1498,7 +1509,7 @@ static bool ReserveXLogSwitch(XLogRecPtr *StartPos, XLogRecPtr *EndPos, XLogRecP * are no other inserters competing for it. GetXLogInsertRecPtr() does * compete for it, but that's not called very frequently. */ -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) uint128_u exchange; uint128_u current; uint128_u compare = atomic_compare_and_swap_u128((uint128_u *)&Insert->CurrBytePos); @@ -1549,7 +1560,8 @@ loop: } endbytepos = startbytepos + size; - prevbytesize = startbytepos - Insert->PrevByteSize; + prevbytesize = Insert->PrevByteSize; + currlrc = Insert->CurrLRC; *StartPos = XLogBytePosToRecPtr(startbytepos); *EndPos = XLogBytePosToEndRecPtr(endbytepos); @@ -1561,7 +1573,8 @@ loop: endbytepos = XLogRecPtrToBytePos(*EndPos); } Insert->CurrBytePos = endbytepos; - Insert->PrevByteSize = size; + Insert->PrevByteSize = (uint32)(endbytepos - startbytepos); + Insert->CurrLRC = currlrc; SpinLockRelease(&Insert->insertpos_lck); #endif /* __x86_64__ || __aarch64__ */ @@ -1579,11 +1592,12 @@ loop: static void StartSuspendWalInsert(int32 *const lastlrc_ptr) { volatile XLogCtlInsert *Insert = &t_thrd.shemem_ptr_cxt.XLogCtl->Insert; - uint64 startbytepos; - uint32 prevbytesize; int32 currlrc; int32 ientry; volatile WALInsertStatusEntry *entry; +#if (defined(__x86_64__) || defined(__aarch64__)) && !defined(__USE_SPINLOCK) + uint64 startbytepos; + uint32 prevbytesize; uint128_u compare; uint128_u exchange; uint128_u current; @@ -1632,7 +1646,25 @@ loop: UINT128_COPY(compare, current); goto loop; } +#else +loop: + SpinLockAcquire(&Insert->insertpos_lck); + currlrc = Insert->CurrLRC; + if (unlikely(currlrc == WAL_COPY_SUSPEND)) { + SpinLockRelease(&Insert->insertpos_lck); + goto loop; + } + + /* + * Return the last LRC + */ + *lastlrc_ptr = currlrc; + Insert->CurrLRC = WAL_COPY_SUSPEND; + + SpinLockRelease(&Insert->insertpos_lck); +#endif /* __x86_64__ || __aarch64__ */ + /* /* * Wait for the WAL copy thread obtaining the "*lastlrc_ptr - 1" to finish * *lastlrc_ptr is the LRC for the next WAL insert thread to acquire @@ -6711,10 +6743,12 @@ void XLOGShmemInit(void) /* The memory of the memset sometimes exceeds 2 GB. so, memset_s cannot be used. */ MemSet(t_thrd.shemem_ptr_cxt.XLogCtl->pages, 0, (Size)XLOG_BLCKSZ * g_instance.attr.attr_storage.XLOGbuffers); +#ifdef ENABLE_BBOX if (BBOX_BLACKLIST_XLOG_BUFFER) { bbox_blacklist_add(XLOG_BUFFER, t_thrd.shemem_ptr_cxt.XLogCtl->pages, (uint64)XLOG_BLCKSZ * g_instance.attr.attr_storage.XLOGbuffers); } +#endif /* * Do basic initialization of XLogCtl shared data. (StartupXLOG will fill @@ -15558,7 +15592,9 @@ XLogRecPtr do_roach_stop_backup(const char *backupidstr) { bool backup_started_in_recovery = false; XLogCtlInsert *Insert = &t_thrd.shemem_ptr_cxt.XLogCtl->Insert; +#if defined(__aarch64__) || defined(__x86_64__) || defined(__i386__) uint64 current_bytepos; +#endif XLogRecPtr stoppoint; char backup_label[MAXPGPATH]; char backup_label_done[MAXPGPATH]; @@ -15591,7 +15627,7 @@ XLogRecPtr do_roach_stop_backup(const char *backupidstr) stoppoint = t_thrd.shemem_ptr_cxt.ControlFile->minRecoveryPoint; LWLockRelease(ControlFileLock); } else { -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) current_bytepos = pg_atomic_barrier_read_u64((uint64 *)&Insert->CurrBytePos); stoppoint = XLogBytePosToEndRecPtr(current_bytepos); #else @@ -15848,7 +15884,7 @@ XLogRecPtr enable_delay_ddl_recycle(void) LWLockAcquire(CBMParseXlogLock, LW_EXCLUSIVE); -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) uint64 current_bytepos = pg_atomic_barrier_read_u64((uint64 *)&Insert->CurrBytePos); curDelayRange.startLSN = XLogBytePosToEndRecPtr(current_bytepos); #else @@ -15984,7 +16020,7 @@ void disable_delay_ddl_recycle(XLogRecPtr barrierLSN, bool isForce, XLogRecPtr * */ LWLockAcquire(RelfilenodeReuseLock, LW_EXCLUSIVE); -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) uint64 current_bytepos = pg_atomic_barrier_read_u64((uint64 *)&Insert->CurrBytePos); delayRange.endLSN = XLogBytePosToEndRecPtr(current_bytepos); #else @@ -16073,7 +16109,7 @@ XLogRecPtr enable_delay_ddl_recycle_with_slot(const char *slotname) /* hold this lock to push cbm parse exact to the ddl stop position */ LWLockAcquire(CBMParseXlogLock, LW_EXCLUSIVE); -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) uint64 current_bytepos = pg_atomic_barrier_read_u64((uint64 *)&Insert->CurrBytePos); delay_start_lsn = XLogBytePosToEndRecPtr(current_bytepos); #else @@ -16145,7 +16181,7 @@ void disable_delay_ddl_recycle_with_slot(const char *slotname, XLogRecPtr *start */ LWLockAcquire(RelfilenodeReuseLock, LW_EXCLUSIVE); -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) uint64 current_bytepos = pg_atomic_barrier_read_u64((uint64 *)&Insert->CurrBytePos); delay_end_lsn = XLogBytePosToEndRecPtr(current_bytepos); #else @@ -16588,7 +16624,7 @@ XLogRecPtr GetXLogInsertRecPtr(void) volatile XLogCtlInsert *Insert = &t_thrd.shemem_ptr_cxt.XLogCtl->Insert; uint64 current_bytepos; -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) current_bytepos = pg_atomic_barrier_read_u64((uint64 *)&Insert->CurrBytePos); #else SpinLockAcquire(&Insert->insertpos_lck); @@ -16610,7 +16646,7 @@ XLogRecPtr GetXLogInsertEndRecPtr(void) volatile XLogCtlInsert *Insert = &t_thrd.shemem_ptr_cxt.XLogCtl->Insert; uint64 current_bytepos; -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) current_bytepos = pg_atomic_barrier_read_u64((uint64 *)&Insert->CurrBytePos); #else SpinLockAcquire(&Insert->insertpos_lck); @@ -18772,7 +18808,7 @@ bool IsRoachRestore(void) } const uint UPDATE_REC_XLOG_NUM = 4; -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) bool atomic_update_dirty_page_queue_rec_lsn(XLogRecPtr current_insert_lsn, bool need_immediately_update) { XLogRecPtr cur_rec_lsn = InvalidXLogRecPtr; @@ -18829,7 +18865,7 @@ void update_dirty_page_queue_rec_lsn(XLogRecPtr current_insert_lsn, bool need_im } } -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) is_update = atomic_update_dirty_page_queue_rec_lsn(current_insert_lsn, need_immediately_update); #else SpinLockAcquire(&g_instance.ckpt_cxt_ctl->queue_lock); @@ -18849,7 +18885,7 @@ void update_dirty_page_queue_rec_lsn(XLogRecPtr current_insert_lsn, bool need_im uint64 get_dirty_page_queue_rec_lsn() { uint64 dirty_page_queue_rec_lsn = 0; -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) && !defined(__USE_SPINLOCK) dirty_page_queue_rec_lsn = pg_atomic_barrier_read_u64(&g_instance.ckpt_cxt_ctl->dirty_page_queue_reclsn); #else SpinLockAcquire(&g_instance.ckpt_cxt_ctl->queue_lock); diff --git a/src/gausskernel/storage/buffer/buf_init.cpp b/src/gausskernel/storage/buffer/buf_init.cpp index 431754a13db42df44a1527f81bb14cd970b8c284..9433425b39ed501d12875a2a3311c6dbbe959dd0 100644 --- a/src/gausskernel/storage/buffer/buf_init.cpp +++ b/src/gausskernel/storage/buffer/buf_init.cpp @@ -15,7 +15,9 @@ */ #include "postgres.h" #include "knl/knl_variable.h" +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif #include "storage/buf/bufmgr.h" #include "storage/buf/buf_internals.h" #include "storage/nvm/nvm.h" @@ -108,10 +110,12 @@ void InitBufferPool(void) nvm_init(); } +#ifdef ENABLE_BBOX if (BBOX_BLACKLIST_SHARE_BUFFER) { /* Segment Buffer is exclued from the black list, as it contains many critical information for debug */ bbox_blacklist_add(SHARED_BUFFER, t_thrd.storage_cxt.BufferBlocks, NORMAL_SHARED_BUFFER_NUM * (Size)BLCKSZ); } +#endif /* * The array used to sort to-be-checkpointed buffer ids is located in diff --git a/src/gausskernel/storage/replication/dataqueue.cpp b/src/gausskernel/storage/replication/dataqueue.cpp index 5957abdd853eac96497c8d50be8316dfaf762b05..716b2e956a07d115e1d5634a1617d2dea8473ccf 100644 --- a/src/gausskernel/storage/replication/dataqueue.cpp +++ b/src/gausskernel/storage/replication/dataqueue.cpp @@ -43,7 +43,9 @@ #include "storage/shmem.h" #include "storage/buf/bufmgr.h" #include "pgxc/pgxc.h" +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif #define BCMElementArrayLen 8192 #define BCMElementArrayLenHalf (BCMElementArrayLen / 2) @@ -132,10 +134,11 @@ void DataWriterQueueShmemInit(void) if (foundDataQueue) { return; } - +#ifdef ENABLE_BBOX if (BBOX_BLACKLIST_DATA_WRITER_QUEUE) { bbox_blacklist_add(DATA_WRITER_QUEUE, t_thrd.dataqueue_cxt.DataWriterQueue, DataQueueShmemSize()); } +#endif rc = memset_s(t_thrd.dataqueue_cxt.DataWriterQueue, sizeof(DataQueueData), 0, sizeof(DataQueueData)); securec_check_c(rc, "", ""); diff --git a/src/gausskernel/storage/replication/datareceiver.cpp b/src/gausskernel/storage/replication/datareceiver.cpp index 83248fd4d7dfe0d1b5a4d53e773dd4c71cd6a07b..b79b6dc6fbb6d8b12d71118b9afdd8ccd8748507 100755 --- a/src/gausskernel/storage/replication/datareceiver.cpp +++ b/src/gausskernel/storage/replication/datareceiver.cpp @@ -68,7 +68,10 @@ #include "utils/ps_status.h" #include "utils/resowner.h" #include "utils/timestamp.h" +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif + #ifdef ENABLE_UT #define static diff --git a/src/gausskernel/storage/replication/datasender.cpp b/src/gausskernel/storage/replication/datasender.cpp index a8f508f4116cded30f6ed97d3e5be2f1df014e75..55544bd51e54d9aafef9ca51b1e710e454abc72d 100755 --- a/src/gausskernel/storage/replication/datasender.cpp +++ b/src/gausskernel/storage/replication/datasender.cpp @@ -71,7 +71,9 @@ #include "utils/resowner.h" #include "utils/timestamp.h" #include "gssignal/gs_signal.h" +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif /* Flag indicates dummy are searching bcm files now */ static bool dummySearching; @@ -711,11 +713,13 @@ static int DataSndLoop(void) t_thrd.datasender_cxt.output_message = (char *)palloc(1 + sizeof(DataPageMessageHeader) + g_instance.attr.attr_storage.MaxSendSize * 1024); +#ifdef ENABLE_BBOX if (BBOX_BLACKLIST_DATA_MESSAGE_SEND) { bbox_blacklist_add(DATA_MESSAGE_SEND, t_thrd.datasender_cxt.output_message, (uint64)(1 + sizeof(DataPageMessageHeader) + g_instance.attr.attr_storage.MaxSendSize * 1024)); } +#endif /* * Allocate buffer that will be used for processing reply messages. As @@ -1128,10 +1132,11 @@ static void DataSndKill(int code, Datum arg) SpinLockRelease(&datasnd->mutex); dummySearching = false; +#ifdef ENABLE_BBOX if (BBOX_BLACKLIST_DATA_MESSAGE_SEND) { bbox_blacklist_remove(DATA_MESSAGE_SEND, t_thrd.datasender_cxt.output_message); } - +#endif ereport(LOG, (errmsg("datasender thread shut down"))); } diff --git a/src/gausskernel/storage/replication/walreceiver.cpp b/src/gausskernel/storage/replication/walreceiver.cpp index 9be3a4ceeb209f3b8c598867d7ae1c76a832481a..e19995cb721735774e74707ef40ff7dc29e294bf 100755 --- a/src/gausskernel/storage/replication/walreceiver.cpp +++ b/src/gausskernel/storage/replication/walreceiver.cpp @@ -75,7 +75,9 @@ #include "utils/resowner.h" #include "utils/timestamp.h" #include "gssignal/gs_signal.h" +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif #include "flock.h" #include "postmaster/postmaster.h" @@ -309,18 +311,23 @@ static void walRcvCtlBlockInit() t_thrd.walreceiver_cxt.walRcvCtlBlock = (WalRcvCtlBlock *)buf; g_instance.wal_cxt.walReceiverStats->walRcvCtlBlock = t_thrd.walreceiver_cxt.walRcvCtlBlock; +#ifdef ENABLE_BBOX if (BBOX_BLACKLIST_WALREC_CTL_BLOCK) { bbox_blacklist_add(WALRECIVER_CTL_BLOCK, t_thrd.walreceiver_cxt.walRcvCtlBlock, len); } +#endif SpinLockInit(&t_thrd.walreceiver_cxt.walRcvCtlBlock->mutex); } static void walRcvCtlBlockFini() { +#ifdef ENABLE_BBOX if (BBOX_BLACKLIST_WALREC_CTL_BLOCK) { bbox_blacklist_remove(WALRECIVER_CTL_BLOCK, t_thrd.walreceiver_cxt.walRcvCtlBlock); } +#endif + g_instance.wal_cxt.walReceiverStats->walRcvCtlBlock = nullptr; pfree(t_thrd.walreceiver_cxt.walRcvCtlBlock); t_thrd.walreceiver_cxt.walRcvCtlBlock = NULL; diff --git a/src/gausskernel/storage/replication/walsender.cpp b/src/gausskernel/storage/replication/walsender.cpp index af28a15d1c872a2e82154a336641703cce5036ce..e3a119ddca83103004ebea37722820a74bcd7e4f 100755 --- a/src/gausskernel/storage/replication/walsender.cpp +++ b/src/gausskernel/storage/replication/walsender.cpp @@ -112,7 +112,9 @@ #include "postmaster/postmaster.h" #include "alarm/alarm.h" #include "utils/distribute_test.h" +#ifdef ENABLE_BBOX #include "gs_bbox.h" +#endif #include "lz4.h" #define InvalidPid ((ThreadId)(-1)) @@ -3865,10 +3867,12 @@ static void WSDataSendInit() if (!g_instance.attr.attr_storage.enable_mix_replication) { t_thrd.walsender_cxt.output_xlog_message = (char *)palloc(1 + sizeof(WalDataMessageHeader) + (int)WS_MAX_SEND_SIZE); +#ifdef ENABLE_BBOX if (BBOX_BLACKLIST_XLOG_MESSAGE_SEND) { bbox_blacklist_add(XLOG_MESSAGE_SEND, t_thrd.walsender_cxt.output_xlog_message, 1 + sizeof(WalDataMessageHeader) + (int)WS_MAX_SEND_SIZE); } +#endif } else { t_thrd.walsender_cxt.output_xlog_msg_prefix_len = 1 + sizeof(WalDataMessageHeader) + sizeof(uint32) + 1 + sizeof(XLogRecPtr); @@ -3884,10 +3888,12 @@ static void WSDataSendInit() t_thrd.walsender_cxt.wsXLogJustSendRegion->start_ptr = InvalidXLogRecPtr; t_thrd.walsender_cxt.wsXLogJustSendRegion->end_ptr = InvalidXLogRecPtr; +#ifdef ENABLE_BBOX if (BBOX_BLACKLIST_XLOG_MESSAGE_SEND) { bbox_blacklist_add(XLOG_MESSAGE_SEND, t_thrd.walsender_cxt.output_xlog_message, t_thrd.walsender_cxt.output_xlog_msg_prefix_len + (int)WS_MAX_SEND_SIZE); } +#endif } return; @@ -4759,9 +4765,11 @@ static void WalSndKill(int code, Datum arg) t_thrd.walsender_cxt.wsXLogJustSendRegion->start_ptr = InvalidXLogRecPtr; t_thrd.walsender_cxt.wsXLogJustSendRegion->end_ptr = InvalidXLogRecPtr; +#ifdef ENABLE_BBOX if (BBOX_BLACKLIST_XLOG_MESSAGE_SEND) { bbox_blacklist_remove(XLOG_MESSAGE_SEND, t_thrd.walsender_cxt.output_xlog_message); } +#endif if (XlogCopyStartPtr != InvalidXLogRecPtr) { LWLockAcquire(FullBuildXlogCopyStartPtrLock, LW_EXCLUSIVE); XlogCopyStartPtr = InvalidXLogRecPtr; diff --git a/src/include/access/extreme_rto/dispatcher.h b/src/include/access/extreme_rto/dispatcher.h index d6b8c8ea66cf994ed6ba6859e166fe26d283efa7..60b2d65b0b9601091ce30473514ca576d4031af8 100644 --- a/src/include/access/extreme_rto/dispatcher.h +++ b/src/include/access/extreme_rto/dispatcher.h @@ -94,7 +94,7 @@ typedef struct RecordBufferAarray { typedef struct { uint64 curPosition; XLogRecPtr curLsn; -#if (!defined __x86_64__) && (!defined __aarch64__) +#if (!defined(__x86_64__) && !defined(__aarch64__)) || defined(__USE_SPINLOCK) /* protects lastReplayedReadRecPtr and lastReplayedEndRecPtr */ slock_t ptrLck; #endif diff --git a/src/include/access/extreme_rto/page_redo.h b/src/include/access/extreme_rto/page_redo.h index 90674a455f603db36d09a359b387cb20a7d414a6..e05b6a606cc12e89177606a1ac5336399f04e55d 100644 --- a/src/include/access/extreme_rto/page_redo.h +++ b/src/include/access/extreme_rto/page_redo.h @@ -77,7 +77,7 @@ struct PageRedoWorker { */ XLogRecPtr lastReplayedReadRecPtr; XLogRecPtr lastReplayedEndRecPtr; -#if (!defined __x86_64__) && (!defined __aarch64__) +#if (!defined(__x86_64__) && !defined(__aarch64__)) || defined(__USE_SPINLOCK) /* protects lastReplayedReadRecPtr and lastReplayedEndRecPtr */ slock_t ptrLck; #endif diff --git a/src/include/access/ondemand_extreme_rto/page_redo.h b/src/include/access/ondemand_extreme_rto/page_redo.h index 1615a36834de8c0ad6a078413fbebea48f748440..fe5f295e520dff0bcd6d05be9fa4d6f7f191ff94 100644 --- a/src/include/access/ondemand_extreme_rto/page_redo.h +++ b/src/include/access/ondemand_extreme_rto/page_redo.h @@ -79,7 +79,7 @@ struct PageRedoWorker { */ XLogRecPtr lastReplayedReadRecPtr; XLogRecPtr lastReplayedEndRecPtr; -#if (!defined __x86_64__) && (!defined __aarch64__) +#if (!defined(__x86_64__) && !defined(__aarch64__)) || defined(__USE_SPINLOCK) /* protects lastReplayedReadRecPtr and lastReplayedEndRecPtr */ slock_t ptrLck; #endif diff --git a/src/include/access/parallel_recovery/page_redo.h b/src/include/access/parallel_recovery/page_redo.h index b1a4aadfb0d92c13b7125c74319d8981f01a5e75..d737035f31bfea20f38518117110ffa98c7e0325 100644 --- a/src/include/access/parallel_recovery/page_redo.h +++ b/src/include/access/parallel_recovery/page_redo.h @@ -73,8 +73,8 @@ struct PageRedoWorker { XLogRecPtr lastReplayedReadRecPtr; XLogRecPtr lastReplayedEndRecPtr; XLogRecPtr curReplayingReadRecPtr; -#if (!defined __x86_64__) && (!defined __aarch64__) - /* protects lastReplayedReadRecPtr and lastReplayedEndRecPtr */ +#if (!defined(__x86_64__) && !defined(__aarch64__)) || defined(__USE_SPINLOCK) + /* protects lastReplayedReadRecPtr and lastReplayedEndRecPtr */ slock_t ptrLck; #endif PageRedoWorker* selfOrinAddr; diff --git a/src/include/access/xlog.h b/src/include/access/xlog.h index 3d47a2f32ddc2bb487be694255261db572a0103b..cbebfad9d668fb24eaae2bb10ef62c4b8f28ff18 100755 --- a/src/include/access/xlog.h +++ b/src/include/access/xlog.h @@ -424,7 +424,7 @@ typedef struct XLogCtlInsert { uint32 PrevByteSize; int32 CurrLRC; -#if (!defined __x86_64__) && (!defined __aarch64__) +#if ((!defined __x86_64__) && (!defined __aarch64__)) || defined(__USE_SPINLOCK) slock_t insertpos_lck; /* protects CurrBytePos and PrevBytePos */ #endif /* diff --git a/src/include/communication/commproxy_interface.h b/src/include/communication/commproxy_interface.h index 67dab2f4a8d5199d016425baca5ce86f43655fd2..9b999cca1b6cdce146fd56cc16606aafe31c9786 100644 --- a/src/include/communication/commproxy_interface.h +++ b/src/include/communication/commproxy_interface.h @@ -421,7 +421,9 @@ extern bool comm_compare_and_swap_32(volatile int32* dest, int32 oldval, int32 n #define gaussdb_numa_memory_unbind() #else -#define gaussdb_memory_barrier() +#define gaussdb_memory_barrier() __asm__ __volatile__("" ::: "memory") +#define gaussdb_read_barrier() gaussdb_memory_barrier() +#define gaussdb_write_barrier() gaussdb_memory_barrier() #define gaussdb_numa_memory_bind(i) #define gaussdb_numa_memory_unbind() diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index b7ba3284486e9f726d10715f0634d8b80b2769c7..0c181fcccd5a01bbce274c6513edd94380b55bab 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -74,6 +74,14 @@ Supported only in single_node mode, not supported with (--enable-multiple-nodes) */ #undef ENABLE_MOT +/* Define to 1 if you want LLVM support. (--enable-llvm). + Supported only in single_node mode, not supported with (--enable-multiple-nodes) */ +#undef ENABLE_LLVM_COMPILE + +/* Define to 1 if you want BBOX support. (--enable-bbox). + Supported only in single_node mode, not supported with (--enable-multiple-nodes) */ +#undef ENABLE_BBOX + /* Define to 1 if you want to check memory. (--enable-memory-check) */ #undef ENABLE_MEMORY_CHECK diff --git a/src/include/storage/lock/s_lock.h b/src/include/storage/lock/s_lock.h index 6a64c9dfc9adc4d7eace09c884fd15abe0245933..715d84a64957536cebcbb5eee52da2796c974357 100644 --- a/src/include/storage/lock/s_lock.h +++ b/src/include/storage/lock/s_lock.h @@ -606,6 +606,47 @@ static __inline__ int tas(volatile slock_t* lock) #endif /* __ns32k__ */ +#if defined(__loongarch__) /* loongarch */ +#define HAS_TEST_AND_SET + +typedef unsigned int slock_t; + +#define TAS(lock) tas(lock) + +static __inline__ int +tas(volatile slock_t *lock) +{ + register volatile slock_t *_l = lock; + register int _res; + register int _tmp; + + __asm__ __volatile__( + " ll.w %0, %2 \n" + " ori %1, %0, 1 \n" + " sc.w %1, %2 \n" + " xori %1, %1, 1 \n" + " or %0, %0, %1 \n" + " dbar 0 \n" +: "=&r" (_res), "=&r" (_tmp), "+R" (*_l) +: /* no inputs */ +: "memory"); + return _res; +} + +/* MIPS S_UNLOCK is almost standard but requires a "sync" instruction */ +#define S_UNLOCK(lock) \ +do \ +{ \ + __asm__ __volatile__( \ + " dbar 0 \n" \ +: /* no outputs */ \ +: /* no inputs */ \ +: "memory"); \ + *((volatile slock_t *) (lock)) = 0; \ +} while (0) + +#endif /* loongarch */ + #if defined(__alpha) || defined(__alpha__) /* Alpha */ /* * Correct multi-processor locking methods are explained in section 5.5.3 diff --git a/src/include/utils/atomic.h b/src/include/utils/atomic.h index 29105bb6a53937018b067cab82f5236a366eb131..81865fe0ac5a33f6c693b7f4a9d009b02752f111 100644 --- a/src/include/utils/atomic.h +++ b/src/include/utils/atomic.h @@ -563,6 +563,7 @@ static inline uint64 pg_atomic_barrier_read_u64(volatile uint64* ptr) * @IN newval: new value, should be 128bit(16bytes) aligned * @Return: old value */ +#if (defined(__x86_64__) || defined(__aarch64__)) && !defined(__USE_SPINLOCK) static inline uint128_u atomic_compare_and_swap_u128( volatile uint128_u* ptr, uint128_u oldval = uint128_u{0}, @@ -576,6 +577,7 @@ static inline uint128_u atomic_compare_and_swap_u128( return ret; #endif } +#endif /* (defined(__x86_64__) || defined(__aarch64__)) && !defined(__USE_SPINLOCK) */ #endif #endif /* ATOMIC_H */