Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature(StoneDB 8.0): support view query, port MTR issue342 #743

Closed
lujiashun opened this issue Oct 18, 2022 · 3 comments
Closed

feature(StoneDB 8.0): support view query, port MTR issue342 #743

lujiashun opened this issue Oct 18, 2022 · 3 comments
Assignees
Labels
A-feature feature with good idea C-stonedb-8.0 associated with stonedb 8.0

Comments

@lujiashun
Copy link

Is your feature request related to a problem? Please describe.

support MTR in suite/tianmu/t/issue342.test

USE test;
CREATE TABLE `lineitem_i342` (
`l_orderkey` int(11) NOT NULL,
`l_partkey` int(11) NOT NULL,
`l_suppkey` int(11) NOT NULL,
`l_linenumber` int(11) NOT NULL,
`l_quantity` decimal(15,2) NOT NULL,
`l_extendedprice` decimal(15,2) NOT NULL,
`l_discount` decimal(15,2) NOT NULL,
`l_tax` decimal(15,2) NOT NULL,
`l_returnflag` char(1) NOT NULL,
`l_linestatus` char(1) NOT NULL,
`l_shipdate` date NOT NULL,
`l_commitdate` date NOT NULL,
`l_receiptdate` date NOT NULL,
`l_shipinstruct` char(25) NOT NULL,
`l_shipmode` char(10) NOT NULL,
`l_comment` varchar(44) NOT NULL,
PRIMARY KEY (`l_orderkey`,`l_linenumber`)
) ENGINE=TIANMU;
INSERT INTO lineitem_i342 (l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment) VALUES(842980, 1881559, 56614, 4, 5.00, 7702.30, 0.01, 0.03, 'A', 'F', '1992-01-02', '1992-03-20', '1992-01-20', 'COLLECT COD', 'REG AIR', 'lly regular asymptotes. unu');
INSERT INTO lineitem_i342 (l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment) VALUES(1111877, 1341765, 16805, 3, 20.00, 36134.00, 0.10, 0.07, 'A', 'F', '1992-01-02', '1992-02-28', '1992-01-07', 'TAKE BACK RETURN', 'FOB', 're. ideas wake');
INSERT INTO lineitem_i342 (l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment) VALUES(1332613, 539811, 14827, 1, 14.00, 25911.06, 0.08, 0.07, 'A', 'F', '1992-01-02', '1992-02-11', '1992-01-18', 'TAKE BACK RETURN', 'TRUCK', 'y against the furiously regular');
INSERT INTO lineitem_i342 (l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment) VALUES(2184032, 1394196, 44223, 5, 14.00, 18061.82, 0.06, 0.02, 'A', 'F', '1992-01-02', '1992-02-25', '1992-01-15', 'DELIVER IN PERSON', 'RAIL', 'even ideas breach slyly above the d');
INSERT INTO lineitem_i342 (l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment) VALUES(5018977, 820387, 20388, 1, 20.00, 26146.80, 0.00, 0.00, 'A', 'F', '1992-01-02', '1992-03-19', '1992-01-15', 'NONE', 'SHIP', 'packages detect furiously quick');
INSERT INTO lineitem_i342 (l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment) VALUES(8478693, 842913, 92930, 5, 13.00, 24126.31, 0.01, 0.03, 'A', 'F', '1992-01-02', '1992-02-02', '1992-01-05', 'DELIVER IN PERSON', 'REG AIR', 'y silent decoys');
INSERT INTO lineitem_i342 (l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment) VALUES(9838337, 201251, 26254, 1, 10.00, 11522.40, 0.03, 0.05, 'A', 'F', '1992-01-02', '1992-03-27', '1992-01-22', 'NONE', 'RAIL', 'pending pinto beans. boldly unusual de');
INSERT INTO lineitem_i342 (l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment) VALUES(11174723, 851066, 76075, 1, 41.00, 41697.82, 0.07, 0.02, 'A', 'F', '1992-01-02', '1992-03-28', '1992-01-08', 'NONE', 'MAIL', 's detect blithely entic');
INSERT INTO lineitem_i342 (l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment) VALUES(12493984, 912626, 87654, 4, 6.00, 9831.48, 0.02, 0.08, 'A', 'F', '1992-01-02', '1992-02-13', '1992-01-29', 'TAKE BACK RETURN', 'REG AIR', 'e the slyly e');
INSERT INTO lineitem_i342 (l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment) VALUES(12575687, 330833, 30834, 4, 41.00, 76416.62, 0.02, 0.04, 'A', 'F', '1992-01-02', '1992-03-10', '1992-01-28', 'DELIVER IN PERSON', 'RAIL', 'ecial frets. carefully sly depo');
INSERT INTO lineitem_i342 (l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment) VALUES(12753441, 1023833, 98864, 4, 35.00, 61487.30, 0.10, 0.08, 'A', 'F', '1992-01-02', '1992-02-18', '1992-01-23', 'COLLECT COD', 'FOB', 'encies haggle. regular, r');
INSERT INTO lineitem_i342 (l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment) VALUES(15413986, 1799270, 99271, 4, 14.00, 19168.66, 0.05, 0.05, 'A', 'F', '1992-01-02', '1992-01-31', '1992-01-04', 'COLLECT COD', 'TRUCK', 'structions. blithely pending asymptotes');
CREATE VIEW revenue_i342 AS SELECT l_suppkey AS supplier_no, sum(l_extendedprice * (1 - l_discount)) AS total_revenue FROM lineitem_i342 WHERE l_shipdate >= '1992-01-01' AND l_shipdate < DATE_ADD('1992-01-01',INTERVAL 3 MONTH) GROUP BY l_suppkey;
SELECT * FROM revenue_i342 ORDER BY supplier_no;
DROP VIEW revenue_i342;
DROP TABLE lineitem_i342;

Describe the solution you'd like

Describe alternatives you've considered

Additional context

@lujiashun lujiashun added A-feature feature with good idea C-stonedb-8.0 associated with stonedb 8.0 labels Oct 18, 2022
@lujiashun lujiashun self-assigned this Oct 18, 2022
@lujiashun
Copy link
Author

in stonedb 5.7, the explain result is :

mysql> explain SELECT * FROM revenue_i342 ORDER BY supplier_no;
+----+-------------+---------------+------------+------+---------------+------+---------+------+------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | select_type | table         | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra                                                                                                                                                                                                                                                                     |
+----+-------------+---------------+------------+------+---------------+------+---------+------+------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|  1 | PRIMARY     | <derived2>    | NULL       | ALL  | NULL          | NULL | NULL    | NULL |    2 |   100.00 | Using filesort                                                                                                                                                                                                                                                            |
|  2 | DERIVED     | lineitem_i342 | NULL       | ALL  | NULL          | NULL | NULL    | NULL |   12 |    11.11 | Using where with pushed condition ((`test`.`lineitem_i342`.`l_shipdate` >= '1992-01-01') and (`test`.`lineitem_i342`.`l_shipdate` < <cache>(('1992-01-01' + interval 3 month))))(t0) Pckrows: 1, susp. 0 (0 empty 1 full). Conditions: 1; Using temporary; Using filesort |
+----+-------------+---------------+------------+------+---------------+------+---------+------+------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set, 1 warning (7.20 sec)

in stonedb8.0 ,the explain result is:

mysql> explain SELECT * FROM revenue_i342 ORDER BY supplier_no;
+----+-------------+---------------+------------+------+---------------+------+---------+------+------+----------+------------------------------+
| id | select_type | table         | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra                        |
+----+-------------+---------------+------------+------+---------------+------+---------+------+------+----------+------------------------------+
|  1 | PRIMARY     | <derived2>    | NULL       | ALL  | NULL          | NULL | NULL    | NULL |    2 |   100.00 | Using filesort               |
|  2 | DERIVED     | lineitem_i342 | NULL       | ALL  | NULL          | NULL | NULL    | NULL |   12 |    11.11 | Using where; Using temporary |
+----+-------------+---------------+------------+------+---------------+------+---------+------+------+----------+------------------------------+
2 rows in set, 1 warning (0.01 sec)

@lujiashun
Copy link
Author

in stonedb5.7

(gdb) p table_alias2index_ptr
$15 = std::multimap with 2 elements = {["/data/stonedb57/install/tmp/#sql_1dd832_0:lineitem_i342"] = {first = -1,
    second = 0x7f64e0a0bb90}, [":revenue_i342"] = {first = -2, second = 0x7f64e091d240}}

in stonedb 8.0

(gdb) p table_alias2index_ptr
$11 = std::multimap with 1 element = {["revenue_i342:lineitem_i342"] = {first = -1,
    second = 0x7fae5c0c9900}}

@lujiashun
Copy link
Author

in stonedb5.7

(gdb) bt
#0  Tianmu::core::Query::FieldUnmysterify (this=0x7f3215642fc0, item=0x7f2cfc150e60, tab=..., col=...)
    at /data/codebase/stonedb/storage/tianmu/core/query_compile.cpp:277
#1  0x00005632d66a25a0 in Tianmu::core::Query::IsLocalColumn (this=0x7f3215642fc0, item=0x7f2cfc150e60, tmp_table=...)
    at /data/codebase/stonedb/storage/tianmu/core/query_compile.cpp:842
#2  0x00005632d669fce4 in Tianmu::core::Query::AddGroupByFields (this=0x7f3215642fc0, group_by=0x7f2cfc150d40, tmp_table=...)
    at /data/codebase/stonedb/storage/tianmu/core/query_compile.cpp:502
#3  0x00005632d66a2e18 in Tianmu::core::Query::Compile (this=0x7f3215642fc0, compiled_query=0x7f3215642ef0,
    selects_list=0x7f2cfc006658, last_distinct=0x0, res_tab=0x7f3215642a70, ignore_limit=false, left_expr_for_subselect=0x0,
    oper_for_subselect=0x0, ignore_minmax=false, for_subq_in_where=false)
    at /data/codebase/stonedb/storage/tianmu/core/query_compile.cpp:1013
#4  0x00005632d669e9d3 in Tianmu::core::Query::AddJoins (this=0x7f3215642fc0, join=..., tmp_table=...,
    left_tables=std::vector of length 0, capacity 0, right_tables=std::vector of length 0, capacity 0, in_subquery=false,
    first_table=@0x7f3215642c8f: true, for_subq_in_where=false)
    at /data/codebase/stonedb/storage/tianmu/core/query_compile.cpp:342
#5  0x00005632d66a2d06 in Tianmu::core::Query::Compile (this=0x7f3215642fc0, compiled_query=0x7f3215642ef0,
    selects_list=0x7f2cfc004b60, last_distinct=0x0, res_tab=0x0, ignore_limit=false, left_expr_for_subselect=0x0,
    oper_for_subselect=0x0, ignore_minmax=false, for_subq_in_where=false)
    at /data/codebase/stonedb/storage/tianmu/core/query_compile.cpp:1000
#6  0x00005632d6649cba in Tianmu::core::Engine::Execute (this=0x5632d9987c20, thd=0x7f2cfc000e10, lex=0x7f2cfc003138,
    result_output=0x7f2cfc152088, unit_for_union=0x0) at /data/codebase/stonedb/storage/tianmu/core/engine_execute.cpp:380
#7  0x00005632d6649342 in Tianmu::core::Engine::HandleSelect (this=0x5632d9987c20, thd=0x7f2cfc000e10, lex=0x7f2cfc003138,
    result=@0x7f3215643458: 0x7f2cfc152088, setup_tables_done_option=0, res=@0x7f321564344c: 0,
    optimize_after_tianmu=@0x7f3215643454: 1, tianmu_free_join=@0x7f3215643450: 1, with_insert=0)
    at /data/codebase/stonedb/storage/tianmu/core/engine_execute.cpp:232
#8  0x00005632d67440e6 in Tianmu::dbhandler::TIANMU_HandleSelect (thd=0x7f2cfc000e10, lex=0x7f2cfc003138,
    result=@0x7f3215643458: 0x7f2cfc152088, setup_tables_done_option=0, res=@0x7f321564344c: 0,
    optimize_after_tianmu=@0x7f3215643454: 1, tianmu_free_join=@0x7f3215643450: 1, with_insert=0)
    at /data/codebase/stonedb/storage/tianmu/handler/ha_rcengine.cpp:81
#9  0x00005632d5ce8ef2 in execute_sqlcom_select (thd=0x7f2cfc000e10, all_tables=0x7f2cfc005910)
    at /data/codebase/stonedb/sql/sql_parse.cc:5182
#10 0x00005632d5ce1f81 in mysql_execute_command (thd=0x7f2cfc000e10, first_level=true)
    at /data/codebase/stonedb/sql/sql_parse.cc:2831
#11 0x00005632d5ce9f80 in mysql_parse (thd=0x7f2cfc000e10, parser_state=0x7f32156445f0)
    at /data/codebase/stonedb/sql/sql_parse.cc:5621
#12 0x00005632d5cdec3d in dispatch_command (thd=0x7f2cfc000e10, com_data=0x7f3215644ea0, command=COM_QUERY)
    at /data/codebase/stonedb/sql/sql_parse.cc:1495
#13 0x00005632d5cddab4 in do_command (thd=0x7f2cfc000e10) at /data/codebase/stonedb/sql/sql_parse.cc:1034
#14 0x00005632d5e26252 in handle_connection (arg=0x5632de5e17f0)
    at /data/codebase/stonedb/sql/conn_handler/connection_handler_per_thread.cc:313
--Type <RET> for more, q to quit, c to continue without paging--q
Quit
(gdb) p *ifield
$19 = {<Item_ident> = {<Item> = {<Parse_tree_node> = {_vptr.Parse_tree_node = 0x5632d7a3c998 <vtable for Item_field+16>,
        contextualized = true, transitional = false}, is_expensive_cache = -1 '\377', rsize = 0, str_value = {m_ptr = 0x0,
        m_length = 0, m_charset = 0x5632d7b595c0 <my_charset_bin>, m_alloced_length = 0, m_is_alloced = false},
      item_name = {<Name_string> = {<Simple_cstring> = {m_str = 0x7f2cfc150f80 "supplier_no", m_length = 11}, <No data fields>},
        m_is_autogenerated = false}, orig_name = {<Name_string> = {<Simple_cstring> = {m_str = 0x0,
            m_length = 0}, <No data fields>}, m_is_autogenerated = true}, next = 0x7f2cfc006978, max_length = 11, marker = 4,
      decimals = 0 '\000', maybe_null = 0 '\000', null_value = 0 '\000', unsigned_flag = 0 '\000', with_sum_func = 0 '\000',
      fixed = 1 '\001', collation = {collation = 0x5632d7b61bc0 <my_charset_latin1>, derivation = DERIVATION_NUMERIC,
        repertoire = 1}, cmp_context = 4294967295, runtime_item = false, derived_used = false, with_subselect = 0 '\000',
      with_stored_program = 0 '\000', tables_locked_cache = false, is_parser_item = true}, orig_db_name = 0x7f2cfc006950 "test",
    orig_table_name = 0x7f2cfc006958 "lineitem_i342", orig_field_name = 0x7f2cfc006968 "l_suppkey", m_alias_of_expr = false,
    context = 0x7f2cfc0066b8, db_name = 0x7f2cfc0168a0 "test", table_name = 0x7f2cfc012780 "lineitem_i342",
    field_name = 0x7f2cfc015eee "l_suppkey", cached_field_index = 2, cached_table = 0x7f2cfc1511f0, depended_from = 0x0},
  table_ref = 0x7f2cfc1511f0, field = 0x7f2cfc0a8170, result_field = 0x7f2cfc15c370, item_equal = 0x0, no_const_subst = false,
  have_privileges = 0, any_privileges = false}
(gdb)


in stonedb8.0

(gdb) bt
#0  Tianmu::core::Query::FieldUnmysterify (this=0x7f7ed4773190, item=0x7f79d000aa00, tab=..., col=...)
    at /data/codebase/stonedb80/stonedb/storage/tianmu/core/query_compile.cpp:242
#1  0x000055b420cea91e in Tianmu::core::Query::IsLocalColumn (this=0x7f7ed4773190, item=0x7f79d000aa00, tmp_table=...)
    at /data/codebase/stonedb80/stonedb/storage/tianmu/core/query_compile.cpp:839
#2  0x000055b420ce755c in Tianmu::core::Query::AddFields (this=0x7f7ed4773190, fields=..., tmp_table=..., group_by_clause=true,
    num_of_added_fields=@0x7f7ed4772aac: 0, ignore_minmax=false, aggregation_used=@0x7f7ed4772aa5: false)
    at /data/codebase/stonedb80/stonedb/storage/tianmu/core/query_compile.cpp:414
#3  0x000055b420ceb0f4 in Tianmu::core::Query::Compile (this=0x7f7ed4773190, compiled_query=0x7f7ed47730c0,
    selects_list=0x7f79d00079f8, last_distinct=0x0, res_tab=0x7f7ed4772c64, ignore_limit=false, left_expr_for_subselect=0x0,
    oper_for_subselect=0x0, ignore_minmax=false, for_subq_in_where=false)
    at /data/codebase/stonedb80/stonedb/storage/tianmu/core/query_compile.cpp:1000
#4  0x000055b420ce6c53 in Tianmu::core::Query::AddJoins (this=0x7f7ed4773190, join=..., tmp_table=...,
    left_tables=std::vector of length 0, capacity 0, right_tables=std::vector of length 0, capacity 0, in_subquery=false,
    first_table=@0x7f7ed4772e64: true, for_subq_in_where=false)
    at /data/codebase/stonedb80/stonedb/storage/tianmu/core/query_compile.cpp:343
#5  0x000055b420ceb02c in Tianmu::core::Query::Compile (this=0x7f7ed4773190, compiled_query=0x7f7ed47730c0,
    selects_list=0x7f79d09c06e0, last_distinct=0x0, res_tab=0x0, ignore_limit=false, left_expr_for_subselect=0x0,
    oper_for_subselect=0x0, ignore_minmax=false, for_subq_in_where=false)
    at /data/codebase/stonedb80/stonedb/storage/tianmu/core/query_compile.cpp:991
#6  0x000055b420c64ae6 in Tianmu::core::Engine::Execute (this=0x55b4280e9cf0, thd=0x7f79d0000be0, lex=0x7f79d00192b0,
    result_output=0x7f79d000cc90, unit_for_union=0x0) at /data/codebase/stonedb80/stonedb/storage/tianmu/core/engine.cpp:2298
#7  0x000055b420c643f6 in Tianmu::core::Engine::Handle_Query (this=0x55b4280e9cf0, thd=0x7f79d0000be0, qe=0x7f79d09bff30,
    result=@0x7f79d0006400: 0x7f79d000cc90, setup_tables_done_option=0, res=@0x7f7ed4773620: 0,
    optimize_after_tianmu=@0x7f7ed4773690: 1, tianmu_free_join=@0x7f7ed4773624: 1, with_insert=0)
    at /data/codebase/stonedb80/stonedb/storage/tianmu/core/engine.cpp:2194
#8  0x000055b420bb5fb1 in Tianmu::DBHandler::Tianmu_Handle_Query (thd=0x7f79d0000be0, qe=0x7f79d09bff30,
    result=@0x7f79d0006400: 0x7f79d000cc90, setup_tables_done_option=0, res=@0x7f7ed4773620: 0,
    optimize_after_tianmu=@0x7f7ed4773690: 1, tianmu_free_join=@0x7f7ed4773624: 1, with_insert=0)
    at /data/codebase/stonedb80/stonedb/storage/tianmu/handler/ha_my_tianmu.cpp:93
#9  0x000055b41e9f699d in Sql_cmd_dml::execute (this=0x7f79d00063d8, thd=0x7f79d0000be0)
    at /data/codebase/stonedb80/stonedb/sql/sql_select.cc:579
#10 0x000055b41e96d8fb in mysql_execute_command (thd=0x7f79d0000be0, first_level=true)
    at /data/codebase/stonedb80/stonedb/sql/sql_parse.cc:4604
#11 0x000055b41e96fbe6 in dispatch_sql_command (thd=0x7f79d0000be0, parser_state=0x7f7ed4774b90)
    at /data/codebase/stonedb80/stonedb/sql/sql_parse.cc:5239
#12 0x000055b41e965665 in dispatch_command (thd=0x7f79d0000be0, com_data=0x7f7ed47754e0, command=COM_QUERY)
    at /data/codebase/stonedb80/stonedb/sql/sql_parse.cc:1959
#13 0x000055b41e9636dc in do_command (thd=0x7f79d0000be0) at /data/codebase/stonedb80/stonedb/sql/sql_parse.cc:1362
#14 0x000055b41eba0015 in handle_connection (arg=0x55b428077eb0)
--Type <RET> for more, q to quit, c to continue without paging--q
Quit
(gdb) p *ifield
$14 = {<Item_ident> = {<Item> = {<Parse_tree_node_tmpl<Parse_context>> = {
        _vptr.Parse_tree_node_tmpl = 0x55b423e508b8 <vtable for Item_field+16>, contextualized = true},
      next_free = 0x7f79d0007dd8, str_value = {m_ptr = 0x0, m_length = 0, m_charset = 0x55b424043be0 <my_charset_bin>,
        m_alloced_length = 0, m_is_alloced = false}, collation = {collation = 0x55b42404cce0 <my_charset_latin1>,
        derivation = DERIVATION_NUMERIC, repertoire = 1}, item_name = {<Name_string> = {<Simple_cstring> = {
            m_str = 0x7f79d000ab48 "supplier_no", m_length = 11}, <No data fields>}, m_is_autogenerated = false},
      orig_name = {<Name_string> = {<Simple_cstring> = {m_str = 0x0, m_length = 0}, <No data fields>},
        m_is_autogenerated = true}, max_length = 11, marker = Item::MARKER_BIT, cmp_context = INVALID_RESULT,
      is_parser_item = true, is_expensive_cache = -1 '\377', m_data_type = 3 '\003', fixed = true, decimals = 0 '\000',
      m_nullable = false, null_value = false, unsigned_flag = false, m_is_window_function = false, hidden = false,
      m_in_check_constraint_exec_ctx = false, derived_used = false, static PROP_SUBQUERY = 1 '\001',
      static PROP_STORED_PROGRAM = 2 '\002', static PROP_AGGREGATION = 4 '\004', static PROP_WINDOW_FUNCTION = 8 '\b',
      static PROP_ROLLUP_EXPR = 16 '\020', static PROP_GROUPING_FUNC = 32 ' ', m_accum_properties = 0 '\000'},
    m_orig_db_name = 0x7f79d0008c30 "test", m_orig_table_name = 0x7f79d0008c50 "lineitem_i342",
    m_orig_field_name = 0x7f79d0090d78 "l_suppkey", m_alias_of_expr = false, context = 0x7f79d0007b78,
    db_name = 0x7f79d0008c30 "test", table_name = 0x7f79d000b200 "lineitem_i342", field_name = 0x7f79d0007db8 "l_suppkey",
    cached_table = 0x7f79d000b210, depended_from = 0x0}, table_ref = 0x7f79d000b210, field = 0x7f79d09c4440,
  result_field = 0x7f79d09cdae8, last_org_destination_field = 0x0, last_destination_field = 0x0,
  last_org_destination_field_memcpyable = 4294967295, last_destination_field_memcpyable = 4294967295, m_base_item_field = 0x0,
  item_equal = 0x0, field_index = 2, item_equal_all_join_nests = 0x0, no_constant_propagation = false, have_privileges = 0,
  any_privileges = false, can_use_prefix_key = false}
(gdb)

@lujiashun lujiashun changed the title feature(StoneDB 8.0): support view query feature(StoneDB 8.0): support view query, port MTR issue342 Oct 19, 2022
lujiashun pushed a commit to lujiashun/stonedb that referenced this issue Oct 19, 2022
…atom#743)

[summary]
1 add condition push down logic in optimize phrase;
2 replace original_field_name function instead of get_result_field;
3 remove unused variable tianmu_bootstrap;
4 eliminate some compile warning;
lujiashun pushed a commit to lujiashun/stonedb that referenced this issue Oct 19, 2022
…m#743)

[summary]
1 add condition push down logic in optimize phrase;
2 replace original_field_name function instead of get_result_field;
3 remove unused variable tianmu_bootstrap;
4 eliminate some compile warning;
lujiashun pushed a commit to lujiashun/stonedb that referenced this issue Oct 19, 2022
…m#743)

[summary]
1 add condition push down logic in optimize phrase;
2 replace original_field_name function instead of get_result_field;
3 remove unused variable tianmu_bootstrap;
4 eliminate some compile warning;
lujiashun pushed a commit to lujiashun/stonedb that referenced this issue Oct 19, 2022
…m#743)

[summary]
1 add condition push down logic in optimize phrase;
2 replace original_field_name function instead of get_result_field;
3 remove unused variable tianmu_bootstrap;
4 eliminate some compile warning;
lujiashun pushed a commit to lujiashun/stonedb that referenced this issue Oct 19, 2022
…m#743)

[summary]
1 replace original_field_name function instead of get_result_field,compare with function strcmp;
2 remove unused variable tianmu_bootstrap;
3 eliminate some compile warning;
lujiashun pushed a commit to lujiashun/stonedb that referenced this issue Oct 19, 2022
…m#743)

[summary]
1 add condition push-down logic in optimize;
2 replace original_field_name function instead of get_result_field,compare with function strcmp;
3 remove unused variable tianmu_bootstrap;
4 eliminate some compile warning;
lujiashun pushed a commit to lujiashun/stonedb that referenced this issue Oct 20, 2022
…m#743)

[summary]
1 add condition push-down logic in optimize;
2 replace original_field_name function instead of get_result_field,compare with function strcmp;
3 remove unused variable tianmu_bootstrap;
4 eliminate some compile warning;
mergify bot pushed a commit that referenced this issue Oct 20, 2022
[summary]
1 add condition push-down logic in optimize;
2 replace original_field_name function instead of get_result_field,compare with function strcmp;
3 remove unused variable tianmu_bootstrap;
4 eliminate some compile warning;
@Nliver Nliver added this to the StoneDB_8.0_v1.0.0 milestone Apr 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-feature feature with good idea C-stonedb-8.0 associated with stonedb 8.0
Projects
Development

No branches or pull requests

2 participants