1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/opengauss-openGauss-server

 / Детали:

【Тип теста: SQL-функции】【Версия теста: 7.0.0】 Проблемное описание: операция преобразования столбца в...

Предстоит сделать
Владелец
Создано  
30.06.2025

строку (not rotate) в операторе select, при использовании not rotate генерируются столбцы, начинающиеся с цифры, а также новые столбцы, созданные с помощью for, также начинаются с цифры. Непреобразованные столбцы и новые столбцы заключаются в одинарные кавычки. После выполнения база данных падает.

【Заголовок описания】: Операция преобразования столбцов в строки (not rotate), при выполнении запроса select, сгенерированные столбцы и новые столбцы начинаются с цифры, не преобразованные столбцы и новые столбцы заключены в одинарные кавычки, после выполнения база данных падает
【Тип теста: SQL-функционал】【Тестовая версия: 7.0.0】 Проблема: операция преобразования столбцов в строки (not rotate), при выполнении запроса select, сгенерированные столбцы и новые столбцы начинаются с цифры, не преобразованные столбцы и новые столбцы заключены в одинарные кавычки, после выполнения база данных падает

【Информация об операционной системе и оборудовании】(запрос команды: cat /etc/system-release, uname -a):
CentOS Linux release 7.9.2009 (Core)
Linux ecs-6ac8 3.10.0-1160.119.1.el7.x86_64 #1:【6.0.1】Ошибка подключения клиента MySQL SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
【Тестовая среда】(одномашинная/1 мастер x резерв x каскадный резерв): одномашинная

【Тестируемая функция】: синтаксис not rotate

【Тип теста】: SQL-функционал

【Версия базы данных】(запрос команды: gaussdb -V):
gaussdb (openGauss 7.0.0-RC1 build c20928a5) compiled at 2025-04-09 20:30:42 commit 0 last mr
【Предварительные условия】: в базе данных D установлен плагин shark

【Процедура выполнения】(укажите подробные шаги выполнения):

  1. Создание таблицы
CREATE TABLE t_not_rotate0001_01 (
    Product     VARCHAR(50),
    Q1_Sales    DECIMAL(10,2),
    Q2_Sales    DECIMAL(10,2),
    Q3_Sales    DECIMAL(10,2),
    Q4_Sales    DECIMAL(10,2)
);
INSERT INTO t_not_rotate0001_01 VALUES
    ('Laptop', 1000.00, 1500.00, 1200.00, 1800.00),
    ('Phone',  800.00,  900.00,  950.00,  1100.00),
    ('Tablet', NULL,    500.00,  NULL,     700.00);
  1. Преобразование столбцов в строки, новые сгенерированные столбцы начинаются с цифры (123Quarter) в подзапросе select
SELECT Product, 123Quarter, sales
FROM (
SELECT Product, Q1_Sales, Q2_Sales, Q3_Sales, Q4_Sales
FROM t_not_rotate0001_01
) AS SourceTable
not rotate (
sales FOR Quarter IN (Q1_Sales, Q2_Sales, Q3_Sales, Q4_Sales)
) AS UnpivotTable;
  1. Преобразование столбцов в строки, новые сгенерированные столбцы начинаются с цифры (123sales) в подзапросе select
SELECT Product, Quarter, 123sales
FROM (
SELECT Product, Q1_Sales, Q2_Sales, Q3_Sales, Q4_Sales
FROM t_not_rotate0001_01
) AS SourceTable
not rotate (
sales FOR Quarter IN (Q1_Sales, Q2_Sales, Q3_Sales, Q4_Sales)
) AS UnpivotTable;
  1. Не преобразованные столбцы заключены в одинарные кавычки ('Product')
SELECT 'Product', Quarter, Sales
FROM (
SELECT Product, Q1_Sales, Q2_Sales, Q3_Sales, Q4_Sales
FROM t_not_rotate0001_01
) AS SourceTable
not rotate (
Sales FOR Quarter IN (Q1_Sales, Q2_Sales, Q3_Sales, Q4_Sales)
) AS UnpivotTable;
  1. Новые сгенерированные столбцы в подзапросе select заключены в одинарные кавычки ('Sales')
SELECT Product, Quarter, 'Sales'
FROM (
SELECT Product, Q1_Sales, Q2_Sales, Q3_Sales, Q4_Sales
FROM t_not_rotate0001_01
) AS SourceTable
not rotate (
Sales FOR Quarter IN (Q1_Sales, Q2_Sales, Q3_Sales, Q4_Sales)
) AS UnpivotTable;

【Ожидаемый результат】: при корректных ошибках состояние базы данных должно быть нормальным

【Фактический результат】: после выполнения база данных падает без генерации core-файла
Шаг 2 выполнения приводит к падению базы данных:
Введите описание изображения
Шаг 3 выполнения приводит к падению базы данных:
Введите описание изображения
pg_log:
Введите описание изображения
Шаг 4 выполнения приводит к падению базы данных:
Введите описание изображения
Шаг 5 выполнения приводит к падению базы данных:
Введите описание изображения
pg_log:
Введите описание изображения
【Анализ причины】:

  1. Корневая причина проблемы
  2. Процесс выявления проблемы
  3. Другие возможные причины подобных явлений
  4. Есть ли временные меры для обхода проблемы
  5. Решение проблемы
  6. Предполагаемое время исправления проблемы

【Информация о журналах】(приложите файлы журналов, скриншоты, информацию о coredump):

【Тестовый код】:

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/opengauss-openGauss-server.git
git@api.gitlife.ru:oschina-mirror/opengauss-openGauss-server.git
oschina-mirror
opengauss-openGauss-server
opengauss-openGauss-server