Coder Social home page Coder Social logo

oceanbase / odc Goto Github PK

View Code? Open in Web Editor NEW
529.0 12.0 50.0 162.58 MB

OceanBase Developer Center(ODC), An open-source, enterprise-grade database tool for collaborative development

Home Page: https://github.com/oceanbase/odc

License: Apache License 2.0

Python 0.14% Shell 0.27% Dockerfile 0.05% Java 94.99% ANTLR 4.15% PLSQL 0.40%
database developer-tools sql tool data-security oceanbase collaboration mysql doris oracle

odc's Introduction

image.png

English | 中文

OceanBase Developer Center (ODC)

OceanBase Developer Center, or ODC for short, is an open-source, all-encompassing tool for collaborative database development and data management across various scenarios. By streamlining collaborative efforts, ODC addresses the challenges of risk management during database changes, efficient data management, and data security concerns. image

🤔 What ODC Offers and Why Choose ODC?

Effortless SQL Development, Anytime, Anywhere

  • Utilizing modern web architecture, ODC provides unparalleled accessibility to your databases, allowing you to perform SQL development tasks on the go, right from your web browser.
  • ODC boasts a comprehensive and user-friendly SQL development environment that encompasses all the features you'd expect from desktop development tools, and even offers support for PL debugging. image

Guard Every Change in Your SQL Development Journey

  • Throughout the entire SQL development process, ODC is your steadfast companion, offering risk control at every turn. From visual object management to SQL queries, data editing, and import/export tasks, ODC comes equipped with built-in risk management tools.
  • ODC introduces project-based collaboration and change approval workflows, complemented by SQL validation rules, SQL window guidelines, and risk level identification. image

Automated Data Lifecycle Management

  • ODC facilitates data retention policies, enabling you to effortlessly purge or archive data based on specified time frames, and build a hot-cold data separation system tailored to your needs in just 5 minutes.
  • Beyond time-based data handling, ODC supports batch processing based on partitioning, allowing you to efficiently manage large datasets.
  • With ODC's SQL scheduled tasks, completing computational tasks becomes a breeze, rendering traditional CRONTAB systems obsolete. image

Sensitive Data Protection in Every Scenario

  • ODC's data desensitization capabilities extend to both static and dynamic scenarios, ensuring that sensitive information remains safeguarded during schema changes, SQL queries, result set exports, and data extractions.
  • Security administrators can configure sensitive data rules and desensitization algorithms, ensuring that both DBAs and developers are unable to access sensitive data. image

Seamless Integration Without Additional Code Development

  • Integrate ODC seamlessly into your current database development workflow without the need for disruptive changes.
  • From Single Sign-On (SSO) to approval integration, SQL review integration, bastion host integration, and audit integration, ODC offers a comprehensive suite of features that cater to enterprise control needs. image

🚀 Installation and Deployment

ODC comes in two distinct forms: the dynamic Web version and the efficient Desktop version. Let's take a closer look at these offerings:

  • Desktop Version: Effortless Individual Development

    The Desktop version is designed for personal development scenarios, offering an efficient and user-friendly SQL development tool. Supported operating systems include Windows and MacOS.

  • Web Version: Unleash Collaborative Power

    The Web version caters to multi-person collaborative development scenarios, encompassing collaborative development, risk control, data security, and more. It serves as an integrated platform for database development, management, and control. The Web version provides various installation mediums, such as rpm and Docker images, supporting x86 and ARM architectures. It also encapsulates all the features of SQL development in the Desktop version.

Deploying the Web Version

Please note that the deployment steps outlined in this section are meant for experiencing the functionality. For production environment deployment, please refer to the Deployment Guide.

Before You Start

The ODC Web version is packaged as a Docker image and relies on an OceanBase MySQL tenant as MetaDB. If you have not had a MetaDB, please follow (Optional) Step 1: Create a MetaDB below for instructions.

Before you start, ensure that your environment meets the following requirements:

  • Docker is installed and the service is up and running. It is recommended to use the latest version of Docker.
  • The deployment machine for ODC has at least 2 available CPU cores and 4 GB of RAM.
  • The MetaDB requires a minimum specification of 1 vCPU and 4 GB of RAM.

(Optional) Step 1: Create a MetaDB

Use the sample script below to create a MetaDB if you do not already have one. To create a MetaDB, it would require an OceanBase cluster and a test tenant, which the script would also complete for you. The creation process may take about 2 minutes.

Please note that the deployment machine for the OceanBase cluster should have at least 4 vCPUs and 8 GB of RAM.

This script is for demo purposes only. If you have already had a MetaDB, please skip this step.

# Start an OceanBase cluster, which would automatically create a test tenant.
docker run -p 2881:2881 --name oceanbase-ce -d oceanbase/oceanbase-ce

# Connect to the test tenant within the cluster.
docker exec -it oceanbase-ce ob-mysql root

# Create a database user 'odc' and schema 'odc_metadb' within the tenant. Replace <password> with the actual password of your choice.
CREATE USER odc IDENTIFIED BY '<password>';
CREATE DATABASE odc_metadb;
GRANT ALL ON odc_metadb.* TO odc;

Step 2: Launch the ODC Server

Use the script below to launch the ODC Docker container.

# Launch ODC Server. The following example limits the container to 2 CPU cores and 4 GB of memory.

# Replace <your_metadb_password> with the actual password of your MetaDB. If you have followed Step 1 above to create the MetaDB, then replace <your_metadb_password> with the password you set in Step 1.

# Set the initial password for your admin account of ODC using the parameter <your_admin_password>. This password would be the one you use to log into the ODC Web. The password must satisfy the following requirements:
# - At least 2 digits
# - At least 2 lowercase letters
# - At least 2 uppercase letters
# - At least 2 special characters, allowed special characters includes ._+@#$%
# - No spaces or other special characters
# - 8~32 characters in length

# The process to launch ODC may take about 2 minutes.

 docker run -d -it --name odc --network host \
 --cpu-period 100000 --cpu-quota 200000 --memory=4G \
 -e "DATABASE_HOST=127.0.0.1" -e "DATABASE_PORT=2881" -e "DATABASE_NAME=odc_metadb" \
 -e "DATABASE_USERNAME=odc@test" -e 'DATABASE_PASSWORD=<your_metadb_password>' \
 -e 'ODC_ADMIN_INITIAL_PASSWORD=<your_admin_password>' \
 -e "ODC_SERVER_PORT=8989" \
 oceanbase/odc:latest

What to do next

After deploying ODC Web, you can follow our Quick Start guide to start your journey with ODC.

Installing the Desktop Version

The Desktop version harnesses Electron technology to transform the web application into a desktop application, offering compatibility with multiple desktop operating systems. Installing the desktop application is straightforward: simply download the version-specific installer and double-click to initiate the installation process.

ODC Desktop version employs the h2database embedded database as MetaDB, eliminating the need for MetaDB database configuration.

Here are the download links for ODC Desktop version installers:

What to do next

After installing the Desktop version, you can follow our Quick Start guide to start your journey with ODC.

🤝 Join the Contributing Community

ODC envisions an open community, collaboratively crafting a database development and control management tool. We welcome your contributions in any form:

  • Report bugs through Issues.
  • Participate in or initiate discussions via Discussion.
  • Contribute bug fixes or new features through Pull requests.
  • Share ODC to your friends and colleagues, and help expand the ODC community's influence.

For detailed guidelines on contributing, please refer to the Contribution Guide. For comprehensive guidance on different types of code changes via pull requests, consult the Pull requests.

🛤️ Roadmap Ahead

Here's a glimpse into ODC's 2024 roadmap.

Focus Area Q1 Q2 Q3 Q4
HTAP Collaborative Development
  • Support Doris data source
  • Support Oracle data source
  • Support homogeneous database schema comparison/synchronization
  • Built-in common code snippets
  • Support natural language conversion to SQL
  • Support real-time query and analysis
  • Support result set conversion to chart
  • Support global database object retrieval and positioning
  • Provide dbt-oceanbase plug-in
  • Support Git repository integration
  • Support dbt development integration
  • Support natural language conversion to chart
  • Support sharing scripts and code snippets within projects
  • Support AI task orchestration
  • Support DAG task orchestration
  • Support lightweight report management
  • Support heterogeneous database schema comparison/synchronization
Change and Risk Control
  • Support database-level access control
  • Support sending alerts on task exceptions
  • Support automatic identification of offline DDL changes
  • Support logical database DDL changes
  • Support online schema changes
  • Support multi-database (pipeline) changes
  • Support assigning database administrator
  • Support table-level access control
  • Add global project administrator
  • Support logical database DML/DQL
  • Support configuring SQL check based on templates
  • Support sensitive column access application
  • Provide change rollback capability based on row-level recycle bin
  • Support automatic identification of sensitive data
  • Support state-based schema changes
  • Include command line window actions in operational auditing
Data Lifecycle Management
  • Data archiving/cleanup supports SQL preview
  • Data archiving/cleanup supports unique index tables
  • Data archiving supports source and target tables to be in the same database
  • Partitioning plan supports OB Oracle data source
  • Data archiving source query performance optimization
  • Support for archiving from OB to Files/OSS/S3
  • Homogeneous data archiving supports DDL incremental change synchronization
  • Support for archiving from OB to COS/OBS
  • Support heterogeneous database archiving table structure synchronization
  • Support for archiving associated (foreign key) table scenarios
  • Risk prompts for data archiving/cleanup
  • Data archiving/cleanup supports logical database
  • Data archiving/cleanup supports Oracle data source
Ease of Use
  • Optimize SQL development page interaction
  • Optimize database search capability
  • Desktop version supports custom JVM parameters
  • Support custom configuration items (including shortcuts, etc.)
  • UI theme renewal
  • New project control concept guidance
  • Optimize ticket management page interaction
  • Enhance code auto-completion capability
  • Optimize PL development experience
  • Optimize wide table scenario page interaction
  • Desktop version startup speed optimized to within 20s
  • Provide SQL formatting capability based on templates
  • Optimize operation record page interaction

License

ODC is licensed under the Apache-2.0 license.

Help and Support

We welcome you to raise any questions or provide feedback through GitHub Issues. If you have trouble accessing GitHub, you can also join our DingTalk Group to seek assistance there.

odc's People

Contributors

caifeizhi avatar chlk avatar guowl3 avatar hsunboy avatar isadba avatar jane201510 avatar jessiewujiexi avatar kiko-art avatar krihy avatar lioroger avatar luckypicklezz avatar markpotato777 avatar niyuhang2 avatar peachthinking avatar smallsheeeep avatar ungreat avatar yhilmare avatar yiminpeng avatar yizhouxw avatar zijiacj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

odc's Issues

[Feature]: ODC supports MySQL data source

Value of feature

Support MySQL as one of the mainstream databases, can solve the problem of MySQL users database development, increase the audience of ODC product capabilities.

Description of feature

Right now, ODC just support OceanBase, but if we want to touch more user, we can go further and try to support MySQL, Postgres, even Oracle.
Here is the voice of community.
But this is a tough decision which will determine where we go in the next few years, we had better make more preparation for it.
oceanbase/oceanbase#881
https://ask.oceanbase.com/t/topic/28800067

Other instructions

Object tree presentations, SQL Windows, result set operations, and database changes need to be adapted to the MySQL data source

Additional context

[Bug]: poor performance in mass editing of result sets

ODC version

4.2.0

OB version

What happened?

For any schema, when the number of rows in the edited result set exceeds 100, the time required to generate SQL is at the minute level.
And this time consumption is proportional to the number of rows.
This time is obviously too long.

What did you expect to happen?

The time to generate DMLs needs to be controlled in second level.

How can we reproduce it (as minimally and precisely as possible)?

Create any table and insert 1000 rows of data using the edit table data function. Click Execute to trigger the issue.

Anything else we need to know?

No response

Cloud

No response

[Feature]: Data source connection parameters can be configured

Value of feature

Persistent connection parameter configuration, avoid repeated adjustment of relevant parameters every time the connection is entered, and improve product usability.

Description of feature

ODC can automatically identify physical standby based on connection configuration custom parameters without user configuration.
The connection configuration relies on custom parameters to generate default configuration templates.
Adding READ_CONSISTENCY for personal Settings does not conform to the product logic. Therefore, determine whether the requirement is reasonable.

Other instructions
Includes driver configuration, proxy configuration, and session parameter configuration
You can reference a template to make parameter configuration easier.

Additional context

[Bug]: The data source user doesn't have the select permission on the oceanbase database cannot load the database

ODC version

ODC 4.2.0

OB version

Any oceanbase version

What happened?

The data source user doesn't have the select permission on the oceanbase database cannot load the database

What did you expect to happen?

Remove this restriction

How can we reproduce it (as minimally and precisely as possible)?

The database user does not have the select permission of oceanbase when the data source is created

Anything else we need to know?

No response

Cloud

No response

[Bug]: Initiate a scan on the same database again to add sensitive columns and the list is blank after scanning

ODC version

ODC420

OB version

Any ob environment

What happened?

Initiate a scan on the same database again to add sensitive columns and the list is blank after scanning

What did you expect to happen?

page prompt

How can we reproduce it (as minimally and precisely as possible)?

  1. Create scanning rules named a and b respectively
  2. Scan the database named test to add sensitive columns, the scanning rule is a, click to start scanning, and save
  3. Scan the database named test again to add sensitive columns, the scanning rule is b, click to start scanning
    It is found that the scan list is empty, and there is no prompt on the page
    image

Anything else we need to know?

No response

Cloud

No response

[Bug]: sql window column name could not be completed

Describe the bug

sql window column name could not be completed

Environment

  • Component Version: ODC4.2.0

Fast Reproduce Steps(Required)

create table test(a int,b int); select test.

Expected behavior

The column name can be automatically completed
image

Actual Behavior
image

Additional context

[Bug]: session management do not show the SQL being executed

ODC version

4.2.0

OB version

4.1.0 MySQL mode

What happened?

1、To execute a SQL statement in a window,for example :select sleep(600);
2、To view the corresponding session in session management;
image

What did you expect to happen?

Session Management show the SQL being execute

How can we reproduce it (as minimally and precisely as possible)?

1、To execute a SQL statement in a window,for example :select sleep(600);
2、To view the corresponding session in session management;

Anything else we need to know?

No response

Cloud

No response

[Bug]: open the connection after a period of time error "ID for XXX session does not exist"

ODC version

ODC 4.2.0

OB version

Any version of OceanBase

What happened?

Open the connection and restart the ODC. If you perform operations within the connection, an error message is displayed indicating that the session whose id is xxx does not exist

What did you expect to happen?

Can be automatically reconnected

How can we reproduce it (as minimally and precisely as possible)?

Open the connection for a period of time, do not operate, open the connection window again can be repeated

Anything else we need to know?

No response

Cloud

No response

[Bug]: If the user information returned by SSO integration is null, the front end crashes after saving and clicking login

Describe the bug

If the user information returned by SSO integration is null, the front end crashes after saving and clicking login

Environment

ODC420

Fast reproduce steps

Configure SSO information, after testing the connection, confirm that the returned information is null
image
click save
When the login page clicks on a third-party login, the front end crashes

Expected behavior

No response

Actual behavior

No response

Additional context

No response

[Bug]: set names gbk, which are stored in utf8 format

Describe the bug

set names gbk, which are stored in utf8 format

Environment

  • OS Version and CPU Arch(uname -a):

  • Component Version: ODC 4.1.3

Fast Reproduce Steps(Required)

create table test_2(a char(100)); set names gbk; insert into test_2 values('明华(HYHApp)'); SELECT * from test_2; select RAWTOHEX(a)from test_2;
image

Expected behavior

The storage shall be in gbk format

Actual Behavior

Additional context

[Feature]: Use asymmetric encryption instead of symmetric encryption

Is your feature request related to a problem?

The current symmetric encryption transmits the encryption key in plain text, which poses a security risk.

Describe the solution you'd like

Use asymmetric encryption instead of symmetric encryption.

Additional context

No response

[Bug]: NPE when batching import datasources using template file with blank row

ODC version

4.2.0

OB version

Regardless of OB version

What happened?

NPE when batching import datasources.

What did you expect to happen?

Batching import datasources successful.

How can we reproduce it (as minimally and precisely as possible)?

Download template, and then batch import using this template.

Anything else we need to know?

No response

Cloud

No response

[Bug]: Native MySQL delete and recreate a same name database still show “database not exist” after sync database

ODC version

4.2.0

OB version

Original MySQL version:5.7

What happened?

MySQL delete and recreate a same name database like “jingtian_test3” still show “database not exist” after sync database:
image

What did you expect to happen?

“jingtian_test3” database should not show "database not exist".

How can we reproduce it (as minimally and precisely as possible)?

  1. create a database and click sync database
  2. delete the database and click sync database
  3. recreate a same name database and click sync database, the database still show "database not exist"

Anything else we need to know?

No response

Cloud

No response

[Bug]: When the table name is Chinese+English, only the MANIFEST.bin file is exported

ODC version

ODC4.2.0

OB version

ob-mysql410 or ob -mysql3240

What happened?

Export file output is incomplete

What did you expect to happen?

The export file structure is complete

How can we reproduce it (as minimally and precisely as possible)?

  1. Create a table, the table name is Chinese + English, for example, the table name is '测试表 4-list columns'
  2. Export file + structure
  3. Unzip the file
    The found file structure is as follows
    image

Anything else we need to know?

No response

Cloud

No response

[Bug]: failed to mask sensitive columns for ResultSetExport task

ODC version

4.2.0

OB version

What happened?

When a sensitive column was set, the data will be masked while querying. But it won't be effective for result-set-export task. Origin data will be exported !

What did you expect to happen?

The data of sensitive column can be masked.

How can we reproduce it (as minimally and precisely as possible)?

Exporting any sensitive column will reproduce this.

Anything else we need to know?

No response

Cloud

No response

[Bug]: the database column is hidden

ODC version

4.2.0

OB version

4.0

What happened?

When the display screen is too narrow, the database column is hidden.
image

What did you expect to happen?

The database column is displayed normally

How can we reproduce it (as minimally and precisely as possible)?

Open ODC, enter the designated project, and shrink the display window

Anything else we need to know?

No response

Cloud

No response

[Feature]: Added the ability to right-click table objects to open SQL Windows

Value of feature

Improve product usability

Description of feature

Click the table name on the left, can not directly generate query SQL

Other instructions

1.the ability to right-click table objects to open SQL Windows is missing;
2.Add the ability to open SQL Windows and automatically fill select statements for querying the table in the open SQL window

Additional context
image
image

[Feature]: data-transfer task should display export objects before completion

Is your feature request related to a problem?

The objects of Import and Export tasks will only be displayed after the task is completed. This leads to the inability to see the object during approval and the inability to approve it.

Describe the solution you'd like

During approval, user can see the selected import and export objects

Additional context

No response

[Feature]: ob-sql-parser supports insert statement

Is your feature request related to a problem?

SQL:insert into test1 with a as (select * from test2) select * from a;
parser:OceanBase Oracle
SQL can parse out "com.oceanbase.tools.sqlparser.statement.insert.SingleTableInsert" type, but the syntax tree doesn't get to the details

Expect to be able to parse the SQL type and the information contained in it, such as tables and columns.

Describe the solution you'd like

Parsing each part of the syntax tree completely can obtain the table name and column name contained in SQL.

Additional context

No response

[Feature]: Performance Guarantee for SQL Development of ODC in the Scenario of Millions of Database Objects

Is your feature request related to a problem?

Original user voice:
Views are used to obtain structural information. In some scenarios (such as a large number of tables), querying views takes a long time, resulting in slow viewing of table structures.
It is hoped to optimize the way of obtaining the object structure (such as getDDL) to solve the problem of slow viewing of the table structure in some scenarios.
Need to consider: OB 4.2 will drop the constraint name, and the impact of this change on the implementation plan of this requirement needs to be considered;

Build the scene:

  1. Million-level tables, including wide tables;
  2. One million partitions;
  3. The table object needs to have information such as indexes and constraints;

Describe the solution you'd like

Improve product usability

Additional context

  1. Test thoroughly (object list, structure view, SQL execution, SQL editing, result set editing, etc...);
  2. If the performance problem of the kernel view is a strong stuck point, investigate the bypass solution;

[Bug]: garbled characters are displayed in variable values ​​during PL debugging

ODC version

4.2.0

OB version

4.0.0

What happened?

During PL debugging, if the input parameter of a function is Chinese character, then the value displayed in "Stack and variable" is garbled.
image

What did you expect to happen?

Display Chinese characters normally

How can we reproduce it (as minimally and precisely as possible)?

Debug a PL which containing a function call with Chinese character input parameter.

Anything else we need to know?

No response

Cloud

No response

[Bug]: A new instance of external approval is always created when a ticket is initiated

ODC version

4.2.0

OB version

Regardless of OB version

What happened?

When a ticket is initiated, a new instance of external approval is always created, even though the approval node list contains no external approval node.

What did you expect to happen?

External approval instance should be created only when a external approval node is needed.

How can we reproduce it (as minimally and precisely as possible)?

  1. Config external approval integration;
  2. Start a ticket in which the approval node list does not contain external approval;
  3. Check the external approval system, you will find a new instance is created.

Anything else we need to know?

No response

Cloud

No response

[Feature]: ODC supports custom project roles

Value of feature

Ensure change approval ability landing

Description of feature

At present, only three roles (owner, DBA, and developer) can be selected in the change approval process, which does not meet the actual situation

Other instructions

We want to support the customization of roles within a project to ensure that the configured approval flow meets the actual situation.

Additional context

[Bug]: Manually add sensitive columns, after selecting a column, you cannot switch to select other columns

Describe the bug

Environment

  • OS Version and CPU Arch(uname -a):
  • Component Version:ODC4.2.0

Fast Reproduce Steps(Required)

Steps to reproduce the behavior:
steps:

1. Go to the project
2. Click Sensitive Data
3. Manually add sensitive columns, select data source, database, table
4. After selecting one of the column fields
It was found that the column field cannot be switched

image

Expected behavior

Actual Behavior

Additional context

[Feature]: adapt to OceanBase 4.2

Is your feature request related to a problem?

OceanBase 4.2 is released, and some new features is available now, ODC may not support.

Describe the solution you'd like

adapt to OceanBase 4.2

Additional context

No response

[Bug]: When the result set is filtered, the column mode shows incorrect data

Describe the bug
When the result set is filtered, the column mode shows incorrect data

Environment

  • Component Version: ODC 4.1.2

Fast Reproduce Steps(Required)

Steps to reproduce the behavior:
original resultset:
image
Conditionally filter the result set:
image
column mode show data error:
image

Expected behavior
column mode show result set data correctly.

Actual Behavior

Additional context

[Bug]: filter out the internal schema when synchronizing the database

ODC version

ODC 4.2.0

OB version

OB 3.2.3.1

What happened?

The internal schema is shown when the database is synchronized
image

What did you expect to happen?

Filter out LBACSYS、ORAAUDITOR

How can we reproduce it (as minimally and precisely as possible)?

Create the data source for the sys tenant and synchronize the database

Anything else we need to know?

No response

Cloud

No response

[Feature]: Data masking supports columns in database view

Describe your use case

ODC provide data masking for database tables since v4.2.0, but the database views are not taken into consideration.
In the current situation, sensitive data can be access illegally through creating a view and select data from this view.

  1. So, I propose to incorporate views into data desensitization control.

Describe the solution you'd like

  1. Allow setting columns in views as sensitive columns;
  2. When extracting columns from SQL, just make views into consideration.

Describe alternatives you've considered

No response

Additional context

No response

[Feature]: Plug-in transformation of database object viewing and editing

Is your feature request related to a problem?

None yet

Describe the solution you'd like

Viewing and creating new database objects on the left is handled by schema-plugin-api.

Additional context

QA test note:
Test whether the creation and viewing of various database objects under different data sources are consistent with before.

[Bug]: After the sql window is changed to a dark theme, the work order sql plan window on the home page or the export result set input sql window becomes a dark theme

Describe the bug

Environment

  • OS Version and CPU Arch(uname -a):

  • Component Version:ODC4.2.0

Fast Reproduce Steps(Required)

Steps to reproduce the behavior:
`steps:

  1. Change the window theme to dark black
  2. Return to the home page
  3. Click on the work order to create a sql plan
    It is found that the input sql window becomes dark black`
    image

Expected behavior

Actual Behavior

Additional context

[Bug]: String data type do not show “length” when viewing the column information of a table

ODC version

4.2.0

OB version

all verison

What happened?

String data type do not show “length” when viewing the column information of a table,both in ob oracle mode and ob mysql mode:
image

What did you expect to happen?

show length of a String data type like odc 4.1.2 verison:
image

How can we reproduce it (as minimally and precisely as possible)?

create String data type column in both ob mysql mode and ob oracle mode

Anything else we need to know?

No response

Cloud

No response

[Bug]: remove name check for primary key def

ODC version

4.2.0

OB version

not related

What happened?

we create a table as follow:

create table test_tbl(
    id varchar(64) primary key
);

SQL-Check will give a violation message: "Index definition is not named"
截屏2023-08-31 17 42 16

What did you expect to happen?

primary key's def is different from general index def, and we can create a new sql-check rule to check if user's create table def give a name to a primary key.

How can we reproduce it (as minimally and precisely as possible)?

follow "what happened"

Anything else we need to know?

No response

Cloud

No response

[Bug]: the database under other tenants will also be found when synchronizes the database

Describe the bug

Using a data source for sys tenant below ob4.0, the database under other tenants will also be found when synchronizes the database

Environment

ODC 4.2.0
OceanBase 3231

Fast reproduce steps

Synchronize database operations using data sources that are sys tenants and versions below ob4.0

Expected behavior

Only show the current tenant database

Actual behavior

image

Additional context

No response

[Bug]: Using a lower version of chrome to create a data source does not allow drop-down selection of the data source type

Describe the bug

Using a lower version of chrome to create a data source does not allow drop-down selection of the data source type

Environment

  • OS Version and CPU Arch(uname -a):

  • Component Version: ODC 4.2.0

Fast Reproduce Steps(Required)

Chrome version:90.0.4430.212
Creating a data source cannot drop down to show the data source type
image

Expected behavior
image

Actual Behavior

Additional context

[Bug]: resume oms project when precheck is ok but other step is failed

ODC version

4.2.0

OB version

any

What happened?

when oms project step is failed , eg: oms full transfer step is failed when inner service is down, but after a few minutes , it is running normal, so we can resume oms project

What did you expect to happen?

when oms step is failed , we try resume it

How can we reproduce it (as minimally and precisely as possible)?

we can stop oms component manual, and then resume project by osc

Anything else we need to know?

no

Cloud

no

[Bug]: flow's status is not right when service task failed to submit

ODC version

4.1.1

OB version

unrelated

What happened?

Flow's status is not correct, which is 'CREATED'

What did you expect to happen?

The concurrent number of task is limited. Task will be denied when user submit too many tasks, and the default strategy is dropping task.

Which we expect is that we should convert flow's status from 'CREATED' to 'FAILED'

How can we reproduce it (as minimally and precisely as possible)?

QAer have not to care about this issue which is hard to reproduce~

Anything else we need to know?

No response

Cloud

No response

[Bug]: SQL template without delimiter (semicolon) when creating a Type

ODC version

4.2.0

OB version

Any version

What happened?

SQL template without delimiter (semicolon) when creating a Type

What did you expect to happen?

The SQL template should contain delimiter such as semicolon(;).

How can we reproduce it (as minimally and precisely as possible)?

Just try to create a new Type and preview the generated SQL template.

Anything else we need to know?

Nothing

Cloud

No response

[Bug]: mock data int sequence rule. Failed to execute 1,000,000 data for the fourth time

Describe the bug

Mock data INT sequence rule. Failed to execute 1,000,000 data for the fourth time

Environment

  • OS Version and CPU Arch(uname -a):

  • Component Version: ODC 3.x,ODC 4.x

Fast Reproduce Steps(Required)

CREATE TABLE t3 ( id bigint(20) NOT NULL AUTO_INCREMENT, name varchar(50) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) )
The configuration of the mock data task is as follows,The id field is set to start 1 and step 1 each time
image

Expected behavior

If the task is successful, the data will be ignored because the id already exists

Actual Behavior

Task failure
Data generation cycle idling 1000001 exceeds the maximum number of data generation 100000000
Error Log
2023-04-21 10:00:07 ERROR c.o.t.d.c.t.TableTask - Data generation task execution failed, taskStatus=FAILED
24
com.oceanbase.tools.datamocker.model.exception.MockerException: Data generation cycle idling 1000001 exceeds the maximum number of data generation 100000000, too much data cannot pass the constraint check, data generation is terminated
25
at com.oceanbase.tools.datamocker.schedule.impl.GenerateDataTask.execute(GenerateDataTask.java:119) ~[ob-mocker-0.1.3-SNAPSHOT.jar!/:?]

Additional context

[Feature]: add initialization configuration capabilities for data sources

Is your feature request related to a problem?

Users want to init the connection when they create an ODC session.

e.g. The default query timeout settings is too small for someone, and he/she wants to give a bigger value when he/she connect to the observer. What he/she should is as follow:

  1. click a connection config link and create an ODC session.
  2. type set session ob_query_timeout=xxx

which is too complicated. Further more, the settings doesn't work when he/she exit and re-connect.

Describe the solution you'd like

This solution is based on some other's suggestion, and I will give a brief description:

  1. provides the ability to configure the properties of the jdbc driver.
  2. provides the ability to configure the variables of the db.

Additional context

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.