What is the alternative of EXISTS in cassandra? - cql

I am trying to rewrite a SQLite query in CQL.
I know that there is no EXISTS keyword in CQL. I googled it's alternative. However, I couldn't find anything.
UPDATE users SET passsword = ? WHERE user_name = ? AND EXISTS(SELECT 1 FROM
users WHERE user_name = ? AND active_status = 1)
How can I write this query in CQL? Any help is appreciated. Thank you.

This query may be broken down to 2 queries and put an additional java logic to filter the subqueries.That will be 2 calls to database layer
Resultset rs = stmt.execute ("SELECT user_name FROM
users WHERE active_status = 1");
while ( rs.next()){
stmt.executeUpdate("UPDATE users SET passsword = ? WHERE user_name = "+rs.next());
}

Related

Is this type of query safe from sql injection?

let tableName = req.body.tableName
let colName = req.body.col1+","+req.body.col2
sqlString = INSERT INTO ${tableName}(${colName}) VALUES ($1,$2) RETURNING *
No, you are using user's input as is inside a SQL query.
Use some kind of query builder like knex, which has a built in way of escaping user's input properly.

Laravel generate subqueries with eloquent

I want to generate a SQL query like below:
select *
from ocs
where ocs.wfx_oc_no = 'OC11' and
ocs.id in (select id
from buyers
where buyers.buyer_code = 'B01')
Can someone help me as to how to do this with laravel subqueries?
$data = OCS::where('wfc_oc_no','OC11')->where('id', Buyers::where('buyer_code','B01')->first())->get();

Script returning limited amount of records as compare to Query

I tried to convert an SQL query into Gosu Script ( Guidewire). My script is working only for limited number of records
This is the SQL query
select PolicyNumber,* from pc_policyperiod
where ID in ( Select ownerID from pc_PRActiveWorkflow
where ForeignEntityID in (Select id from pc_workflow where State=3))
This is my script
var workFlowIDQuery = Query.make(Workflow).compare(Workflow#State,Relop.Equals,WorkflowState.TC_COMPLETED).select({QuerySelectColumns.path(Paths.make(entity.Workflow#ID))}).transformQueryRow(\row ->row.getColumn(0)).toTypedArray()
var prActiveWorkFlowQuery = Query.make(PRActiveWorkflow).compareIn(PRActiveWorkflow#ForeignEntity, workFlowIDQuery).select({QuerySelectColumns.path(Paths.make(entity.PRActiveWorkflow#Owner))}).transformQueryRow(\row -> row.getColumn(0)).toTypedArray()
var periodQuery = Query.make(PolicyPeriod).compareIn(PolicyPeriod#ID,prActiveWorkFlowQuery).select()
for(period in periodQuery){
print(period.policynmber)
}
Can anyone find a cause; why the script results in limited records or suggest improvements?
I would suggest you to write a single Gosu Query to select policyPeriod and join 3 entities with a foreign key to other entity.
I am note sure if the PolicyPeriod ID is same as the PRActiveWorkflow ID. Can you elaborate the relation between PolicyPeriod and PRActiveWorkflow entity ?

Apache Shiro per object permission?

Is it possible to implement a per database row permission system with Shiro? Suppose I have 10000 records in a table and some user can only see 1000 records... what is the best way to only return those records to the user? Is this a Shiro "use case" or I'm totally in the wrong path here? Thanks
This seems like a case for a join table.
USER_RECORD Table: USER_ID | RECORD_ID
select record_id, record_field_1, record_field_2, ...
from record r, user u, user_record ur
where ur.user_id = u.user_id
and ur.record_id = r.record_id
and u.user_id = :userId

I have to update all the rows in a table. Here is my query

UPDATE tracks
SET People_id_Reference = (SELECT People_id
FROM People
RIGHT JOIN top100
ON
People_name=top100.artist )
WHERE People_id_Reference IS NULL;
But I get Error like this:
ERROR 1242(21000): SUBQUERY RETURNS MORE THAN ONE ROW
Can some on help me with this. Thanks in advance
The simplest way would be to append a LIMIT 1 onto the end of the subquery to only force it to return a single row.
change your code like this :
SELECT *
FROM package_reviews
WHERE post_id = ANY (SELECT post_id
FROM wp_posts
WHERE post_author=1);
this link is very useful
http://dev.mysql.com/doc/refman/5.0/en/subquery-errors.html

Resources